Sha256: 5f17ff84700d3f9940c5271f1d2d4ec58e3215b805d02dfe8bb9e46c03c20532

Contents?: true

Size: 1.02 KB

Versions: 12

Compression:

Stored size: 1.02 KB

Contents

module Yao::Resources
  class OldSample < Base
    include TenantAssociationable

    friendly_attributes :counter_name, :counter_type, :counter_unit, :counter_volume,
                        :message_id, :resource_id, :timestamp, :resource_metadata, :user_id,
                        :source

    def recorded_at
      Time.parse(self["recorded_at"] || self["timestamp"])
    end
    alias timestamp recorded_at

    def id
      message_id
    end

    def resource
      @resource ||= Yao::Resource.get(resource_id)
    end

    def user
      @user ||= Yao::User.get(user_id)
    end

    self.service        = "metering"
    self.api_version    = "v2"

    # get /v2/meters/{id} returns samples!
    def self.list(meter_name, query={})
      cache_key = [meter_name, *query].join
      cache[cache_key] = GET("#{self.api_version}/meters/#{meter_name}", query).body unless cache[cache_key]
      cache[cache_key].map{|d| new(d) }
    end

    def self.cache
      @@_cache ||= {}
    end

    # TODO: implement `def self.create'
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
yao-0.13.4 lib/yao/resources/old_sample.rb
yao-0.13.3 lib/yao/resources/old_sample.rb
yao-0.13.2 lib/yao/resources/old_sample.rb
yao-0.13.1 lib/yao/resources/old_sample.rb
yao-0.13.0 lib/yao/resources/old_sample.rb
yao-0.12.0 lib/yao/resources/old_sample.rb
yao-0.11.3 lib/yao/resources/old_sample.rb
yao-0.11.2 lib/yao/resources/old_sample.rb
yao-0.11.1 lib/yao/resources/old_sample.rb
yao-0.11.0 lib/yao/resources/old_sample.rb
yao-0.10.1 lib/yao/resources/old_sample.rb
yao-0.10.0 lib/yao/resources/old_sample.rb