# 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. # Modified by OpenC3, Inc. # All changes Copyright 2022, OpenC3, Inc. # All Rights Reserved require 'openc3/models/model' module OpenC3 class SettingsModel < Model PRIMARY_KEY = 'openc3__settings' # NOTE: The following three class methods are used by the ModelController # and are reimplemented to enable various Model class methods to work def self.get(name:, scope: nil) super(PRIMARY_KEY, name: name) end def self.names(scope: nil) super(PRIMARY_KEY) end def self.all(scope: nil) super(PRIMARY_KEY) end # END NOTE def initialize(name:, scope: nil, data:) super(PRIMARY_KEY, name: name, scope: scope) @data = data end # @return [Hash] JSON encoding of this model def as_json(*a) { 'name' => @name, 'data' => @data.as_json(*a), 'updated_at' => @updated_at } end end end