Class: Px4LogReader::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/px4_log_reader/reader.rb

Overview

Container to hold the most recent copy of each message type

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContext

Returns a new instance of Context.



80
81
82
# File 'lib/px4_log_reader/reader.rb', line 80

def initialize
  @messages = {}
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



78
79
80
# File 'lib/px4_log_reader/reader.rb', line 78

def messages
  @messages
end

Instance Method Details

#find_by_name(name) ⇒ Object

Query the context for the most recent copy of a message by name

Parameters:

  • Message name



88
89
90
91
92
93
94
95
96
# File 'lib/px4_log_reader/reader.rb', line 88

def find_by_name( name )
  named_message = nil
  @messages.values.each do |message|
    if message.descriptor.name == name
      named_message = message
    end
  end
  return named_message
end

#find_by_type(type) ⇒ Object

Query the context for the most recent copy of a message by type

Parameters:

  • Message type



102
103
104
# File 'lib/px4_log_reader/reader.rb', line 102

def find_by_type( type )
  return @messages[ type ]
end

#set(message) ⇒ Object

Set the most recent copy of a message by type. Any existing message is overwritten.

Parameters:

  • Message instance



111
112
113
# File 'lib/px4_log_reader/reader.rb', line 111

def set( message )
  @messages[ message.descriptor.type ] = message.dup
end