Sha256: 65ee47a227bc6c061c4805ab213c414d1b7913a05d39bbb7c276427dcc79b66d
Contents?: true
Size: 1.82 KB
Versions: 5
Compression:
Stored size: 1.82 KB
Contents
# encoding: ascii-8bit # Copyright 2022 Ball Aerospace & Technologies Corp. # All Rights Reserved. # # This program is free software; you can modify and/or redistribute it # under the terms of the GNU Affero General Public License # as published by the Free Software Foundation; version 3 with # attribution addendums as found in the LICENSE.txt # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # This program may also be used under the terms of a commercial or # enterprise edition license of COSMOS if purchased from the # copyright holder # This file implements a class to handle responses to limits state changes. require 'cosmos/api/api' module Cosmos # This class defines a #call method which is called when a PacketItem # goes out of limits. This class must be subclassed and the call method # implemented. Do NOT use this class directly. class LimitsResponse include Api # @param packet [Packet] Packet the limits response is assigned to # @param item [PacketItem] PacketItem the limits response is assigned to # @param old_limits_state [Symbol] Previous value of the limit. One of nil, # :GREEN_HIGH, :GREEN_LOW, :YELLOW, :YELLOW_HIGH, :YELLOW_LOW, # :RED, :RED_HIGH, :RED_LOW. nil if the previous limit state has not yet # been established. def call(packet, item, old_limits_state) raise "call method must be defined by subclass" end def to_s self.class.to_s.split('::')[-1] end def to_config " LIMITS_RESPONSE #{self.class.name.class_name_to_filename}\n" end def as_json { "class" => self.class.name.to_s } end end # class LimitsResponse end
Version data entries
5 entries across 5 versions & 1 rubygems