Sha256: 46f566dde842a7fbf352447a10f7f6974010889af798da538f5038394f06c24d

Contents?: true

Size: 943 Bytes

Versions: 2

Compression:

Stored size: 943 Bytes

Contents

module Ably::Models
  # Convert token details argument to a {ChannelOccupancy} object
  #
  # @param attributes (see #initialize)
  #
  # @return [ChannelOccupancy]
  def self.ChannelOccupancy(attributes)
    case attributes
    when ChannelOccupancy
      return attributes
    else
      ChannelOccupancy.new(attributes)
    end
  end

  # Type that contain channel metrics (CHO1)
  #
  class ChannelOccupancy
    extend Ably::Modules::Enum
    extend Forwardable
    include Ably::Modules::ModelCommon

    # The attributes of ChannelOccupancy (CH02)
    #
    attr_reader :attributes

    alias_method :to_h, :attributes

    # Initialize a new ChannelOccupancy
    #
    def initialize(attrs)
      @attributes = IdiomaticRubyWrapper(attrs.clone)
    end

    # Metrics object (CHO2a)
    #
    # @return [Ably::Models::ChannelMetrics, nil]
    #
    def metrics
      Ably::Models::ChannelMetrics(attributes[:metrics])
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
ably-rest-1.2.2 lib/submodules/ably-ruby/lib/ably/models/channel_occupancy.rb
ably-1.2.2 lib/ably/models/channel_occupancy.rb