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