module Pio::MessageTypeSelector

Macros for defining message types.

Public Instance Methods

message_type(options) click to toggle source
# File lib/pio/message_type_selector.rb, line 9
def message_type(options)
  const_set(:MESSAGE_TYPE, options)
end
read(raw_data) click to toggle source
# File lib/pio/message_type_selector.rb, line 13
def read(raw_data)
  format = const_get(:Format).read(raw_data)
  message = const_get(:MESSAGE_TYPE)[format.message_type].allocate
  message.instance_variable_set :@format, format
  message
rescue
  raise Pio::ParseError, $ERROR_INFO.message
end