Class: NMEAPlus::NMEAMessageFactory
- Inherits:
-
MessageFactory
- Object
- MessageFactory
- NMEAPlus::NMEAMessageFactory
- Defined in:
- lib/nmea_plus/nmea_message_factory.rb
Overview
Defines a factory for NMEA messages, which will all use Message::NMEA::NMEAMessage as their base. The factory extracts the NMEA data type (prefixed by a 2-character “talker ID”), and looks for a class with that name within the NMEA message namespace.
Class Method Summary collapse
-
.alternate_data_type(data_type) ⇒ Array
Match all NMEA messages as their generic counterparts.
-
.parent_module ⇒ String
The name of the parent module: NMEA.
Methods inherited from MessageFactory
best_match_for_data_type, create, dynamically_get_message_object, message_class_exists?, message_class_name
Class Method Details
.alternate_data_type(data_type) ⇒ Array
Match all NMEA messages as their generic counterparts. GPGLL becomes GLL, etc.
185 186 187 188 189 190 191 192 193 |
# File 'lib/nmea_plus/nmea_message_factory.rb', line 185 def self.alternate_data_type(data_type) # match last 3 digits (get rid of talker) sentence_type = data_type[2..4] alternates = [sentence_type] # Match special Route messages: R00 is the same as R01, R02... alternates.push("R00") unless /R\d\d/.match(sentence_type).nil? alternates end |
.parent_module ⇒ String
Returns The name of the parent module: NMEA.
178 179 180 |
# File 'lib/nmea_plus/nmea_message_factory.rb', line 178 def self.parent_module "NMEA" end |