class Simatic::Types::SimaticType
Public Class Methods
new(value)
click to toggle source
# File lib/simatic/types/simatic_type.rb, line 4 def initialize value @value = value end
parse(raw_data)
click to toggle source
# File lib/simatic/types/simatic_type.rb, line 8 def self.parse raw_data if raw_data.kind_of? Array # puts "raw_data #{raw_data}" raw_data.map { |raw_value| self.parse_one raw_value } else parse_one raw_data end end
parse_one(raw_value)
click to toggle source
# File lib/simatic/types/simatic_type.rb, line 17 def self.parse_one raw_value raw_value_length = raw_value.length if raw_value_length != self::LENGTH raise "Cant parse, cause raw data length #{raw_value_length} (must be #{self::LENGTH})." end raw_value end
Public Instance Methods
serialize()
click to toggle source
# File lib/simatic/types/simatic_type.rb, line 25 def serialize if @value.kind_of? Array @value.map { |single_val| self.class.serialize single_val } else self.class.serialize @value end end