Sha256: 0ec046af7427aec2054781a39f9a6af592167e1b3f0d33b16b3a4f9132e04a8b

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

module Yao::Resources
  class Meter < Base

    include TenantAssociationable

    friendly_attributes :meter_id, :name, :user_id, :resource_id, :source, :type, :unit

    # @return [String]
    def id
      meter_id
    end

    # @return [Yao::Resources::Resource]
    def resource
      @resource ||= Yao::Resource.get(resource_id)
    end

    # @return [Yao::Resources::User]
    def user
      @user ||= Yao::User.get(user_id)
    end

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

    class << self
      private

      # override Yao::Resources::RestfullyAccessible.resource_from_json
      # @param json [Hash]
      # @return [Yao::Resources::Meter]
      def resource_from_json(json)
        new(json)
      end

      # override Yao::Resources::RestfullyAccessible.resources_from_json
      # @param json [Array<Hash>]
      # @return [Array<Yao::Resources::Meter>]
      def resources_from_json(json)
        json.map{|d| new(d)}
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yao-0.15.0 lib/yao/resources/meter.rb
yao-0.14.0 lib/yao/resources/meter.rb