Class: Cosmos::LimitsResponseParser
- Defined in:
- lib/cosmos/packets/parsers/limits_response_parser.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_limits_response(item) ⇒ Object
-
#initialize(parser) ⇒ LimitsResponseParser
constructor
A new instance of LimitsResponseParser.
- #verify_parameters(cmd_or_tlm) ⇒ Object
Constructor Details
#initialize(parser) ⇒ LimitsResponseParser
Returns a new instance of LimitsResponseParser.
24 25 26 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 24 def initialize(parser) @parser = parser end |
Class Method Details
.parse(parser, item, cmd_or_tlm) ⇒ Object
17 18 19 20 21 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 17 def self.parse(parser, item, cmd_or_tlm) @parser = LimitsResponseParser.new(parser) @parser.verify_parameters(cmd_or_tlm) @parser.create_limits_response(item) end |
Instance Method Details
#create_limits_response(item) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 38 def create_limits_response(item) # require should be performed in target.txt klass = @parser.parameters[0].filename_to_class_name.to_class raise @parser.error("#{@parser.parameters[0].filename_to_class_name} class not found. Did you require the file in target.txt?", @usage) unless klass if @parser.parameters[1] item.limits.response = klass.new(*@parser.parameters[1..(@parser.parameters.length - 1)]) else item.limits.response = klass.new end rescue Exception => err raise @parser.error(err, @usage) end |
#verify_parameters(cmd_or_tlm) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 29 def verify_parameters(cmd_or_tlm) if cmd_or_tlm == PacketConfig::COMMAND raise @parser.error("LIMITS_RESPONSE only applies to telemetry items") end @usage = "LIMITS_RESPONSE <RESPONSE CLASS FILENAME> <RESPONSE SPECIFIC OPTIONS>" @parser.verify_num_parameters(1, nil, @usage) end |