class IB::Messages::AbstractMessage

This is just a basic generic message from the server.

Class variables: @message_id - int: message id. @message_type - Symbol: message type (e.g. :OpenOrderEnd)

Instance attributes (at least): @version - int: current version of message format. @data - Hash of actual data read from a stream.

Attributes

created_at[RW]
data[RW]

Public Class Methods

data_map() click to toggle source

Class methods

# File lib/ib/messages/abstract_message.rb, line 16
def self.data_map # Map for converting between structured message and raw data
  @data_map ||= []
end
message_id() click to toggle source
# File lib/ib/messages/abstract_message.rb, line 24
def self.message_id
  @message_id
end
message_type() click to toggle source

Returns message type Symbol (e.g. :OpenOrderEnd)

# File lib/ib/messages/abstract_message.rb, line 29
def self.message_type
  to_s.split(/::/).last.to_sym
end
version() click to toggle source
# File lib/ib/messages/abstract_message.rb, line 20
def self.version # Per class, minimum message version supported
  @version || 1
end

Public Instance Methods

message_id() click to toggle source
# File lib/ib/messages/abstract_message.rb, line 33
def message_id
  self.class.message_id
end
message_type() click to toggle source
# File lib/ib/messages/abstract_message.rb, line 37
def message_type
  self.class.message_type
end
to_human() click to toggle source
# File lib/ib/messages/abstract_message.rb, line 43
def to_human
  "<#{self.message_type}:" +
  @data.map do |key, value|
    unless [:version].include?(key)
      " #{key} #{ value.is_a?(Hash) ? value.inspect : value}"
    end
  end.compact.join(',') + " >"
end