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.
32 33 34 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 32 def initialize(parser) @parser = parser end |
Class Method Details
.parse(parser, item, cmd_or_tlm) ⇒ Object
25 26 27 28 29 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 25 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
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 47 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
37 38 39 40 41 42 43 44 |
# File 'lib/cosmos/packets/parsers/limits_response_parser.rb', line 37 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 |