module Fix::GrammarExtensions::Message
Extends the message component to return the header, body, message type, and checksum from an AST
Public Instance Methods
body()
click to toggle source
Returns the FIX message body as a fields array
@return <Array> The message body fields
# File lib/fix/protocol/grammar_extensions/message.rb, line 41 def body @fields ||= elements[1].elements.map do |e| [ e.elements[0].text_value.to_i, e.elements[2].text_value ] end end
header()
click to toggle source
Returns the FIX message header as a fields array
@return <Array> The message header fields
# File lib/fix/protocol/grammar_extensions/message.rb, line 19 def header unless @header hdr = elements[0].elements last_fields = hdr.pop @header = hdr.map do |e| [ e.elements[0].text_value.to_i, e.elements[2].text_value ] end last_fields.elements.inject(@header) do |h, e| h << [ e.elements[0].text_value.to_i, e.elements[2].text_value ] end end @header end
msg_type()
click to toggle source
Returns the FIX message type code
@return <String> The message type code
# File lib/fix/protocol/grammar_extensions/message.rb, line 52 def msg_type header.find { |f| f[0] == 35 }[1] end