Class: Cosmos::Conversion
- Defined in:
- lib/cosmos/conversions/conversion.rb
Overview
Performs a general conversion via the implementation of the call method
Direct Known Subclasses
GenericConversion, PacketTimeFormattedConversion, PacketTimeSecondsConversion, ProcessorConversion, ReceivedCountConversion, ReceivedTimeFormattedConversion, ReceivedTimeSecondsConversion, SegmentedPolynomialConversion, UnixTimeConversion
Instance Attribute Summary collapse
-
#converted_array_size ⇒ Integer
readonly
The size in bits of the converted array value.
-
#converted_bit_size ⇒ Integer
readonly
The size in bits of the converted value.
-
#converted_type ⇒ Symbol
readonly
The converted data type.
Instance Method Summary collapse
- #as_json ⇒ Object
-
#call(value, packet, buffer) ⇒ Object
Perform the conversion on the value.
-
#initialize ⇒ Conversion
constructor
Create a new conversion.
-
#to_config(read_or_write) ⇒ String
Config fragment for this conversion.
-
#to_s ⇒ String
The conversion class.
Constructor Details
#initialize ⇒ Conversion
Create a new conversion
32 33 34 35 36 |
# File 'lib/cosmos/conversions/conversion.rb', line 32 def initialize @converted_type = nil @converted_bit_size = nil @converted_array_size = nil end |
Instance Attribute Details
#converted_array_size ⇒ Integer (readonly)
Returns The size in bits of the converted array value.
29 30 31 |
# File 'lib/cosmos/conversions/conversion.rb', line 29 def converted_array_size @converted_array_size end |
#converted_bit_size ⇒ Integer (readonly)
Returns The size in bits of the converted value.
27 28 29 |
# File 'lib/cosmos/conversions/conversion.rb', line 27 def converted_bit_size @converted_bit_size end |
#converted_type ⇒ Symbol (readonly)
Returns The converted data type. Must be one of StructureItem#data_type.
25 26 27 |
# File 'lib/cosmos/conversions/conversion.rb', line 25 def converted_type @converted_type end |
Instance Method Details
#as_json ⇒ Object
61 62 63 |
# File 'lib/cosmos/conversions/conversion.rb', line 61 def as_json { 'class' => self.class.name.to_s } end |
#call(value, packet, buffer) ⇒ Object
Perform the conversion on the value.
46 47 48 |
# File 'lib/cosmos/conversions/conversion.rb', line 46 def call(value, packet, buffer) raise "call method must be defined by subclass" end |
#to_config(read_or_write) ⇒ String
Returns Config fragment for this conversion.
57 58 59 |
# File 'lib/cosmos/conversions/conversion.rb', line 57 def to_config(read_or_write) " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename}\n" end |
#to_s ⇒ String
Returns The conversion class.
51 52 53 |
# File 'lib/cosmos/conversions/conversion.rb', line 51 def to_s self.class.to_s.split('::')[-1] end |