Sha256: 77768245ccfbfdf8f465d17bcee5c6c182e8a06980680034a004d7595d2ec711
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 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 require 'cosmos/models/model' module Cosmos class MetricModel < Model PRIMARY_KEY = '__cosmos__metric'.freeze # 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:) super("#{scope}#{PRIMARY_KEY}", name: name) end def self.names(scope:) super("#{scope}#{PRIMARY_KEY}") end def self.all(scope:) super("#{scope}#{PRIMARY_KEY}") end def self.destroy(scope:, name:) Store.hdel("#{scope}#{PRIMARY_KEY}", name) end def initialize(name:, scope:, metric_name:, label_list:) super("#{scope}#{PRIMARY_KEY}", name: name, scope: scope) @metric_name = metric_name @label_list = label_list end def as_json { 'name' => @name, 'updated_at' => @updated_at, 'metric_name' => @metric_name, 'label_list' => @label_list } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cosmos-5.0.3 | lib/cosmos/models/metric_model.rb |
cosmos-5.0.2 | lib/cosmos/models/metric_model.rb |
cosmos-5.0.2.pre.beta2 | lib/cosmos/models/metric_model.rb |