class F4R::Record
Record
is where each data message gets stored including meta data.
Attributes
fields[R]
Where all fields for the specific record get stored
@example
{ field_1: { value: value, base_type: base_type, message_name: 'file_id', message_number: 0, properties: {...}, # copy of global message's field }, field_2: { value: value, base_type: base_type, message_name: 'file_id', message_number: 0, properties: {...}, # copy of global message's field }, ... }
@return [Hash] current message fields.
Public Class Methods
new(message_name)
click to toggle source
# File lib/f4r.rb, line 1311 def initialize(message_name) @message_name = message_name @fields = {} end
Public Instance Methods
message()
click to toggle source
Global message
@return [Hash] copy of associated global message.
# File lib/f4r.rb, line 1321 def message @message ||= GlobalFit.messages.find { |m| m[:name] == @message_name } end
set_field_value(definition, value)
click to toggle source
Sets the value
attribute for the passed field.
@param [RecordField] definition @param [String, Integer] value
# File lib/f4r.rb, line 1331 def set_field_value(definition, value) if fields[definition.name] @fields[definition.name][:value] = value @fields[definition.name][:definition] = definition else @fields[definition.name] = { value: value, base_type: definition.base_type_definition, message_name: definition.global_message[:name], message_number: definition.global_message[:number], definition: definition, properties: definition.global_message_field, } end end