Sha256: 88bfb1bbc12ace9958a685e8e2abc536a6732610cdcc0387f48dd4efdf330cba
Contents?: true
Size: 1.93 KB
Versions: 6
Compression:
Stored size: 1.93 KB
Contents
module Ably module Realtime # Class that maintains a map of Channels ensuring Channels are reused class Channels include Ably::Modules::ChannelsCollection # @return [Ably::Realtime::Channels] def initialize(client) super client, Ably::Realtime::Channel end # @!method get(name, channel_options = {}) # Return a {Ably::Realtime::Channel} for the given name # # @param name [String] The name of the channel # @param channel_options [Hash, Ably::Models::ChannelOptions] A hash of options or a {Ably::Models::ChannelOptions} # @return [Ably::Realtime::Channel} # def get(*args) super end # @!method fetch(name, &missing_block) # Return a {Ably::Realtime::Channel} for the given name if it exists, else the block will be called. # This method is intentionally similar to {http://ruby-doc.org/core-2.1.3/Hash.html#method-i-fetch Hash#fetch} providing a simple way to check if a channel exists or not without creating one # # @param name [String] The name of the channel # @yield [options] (optional) if a missing_block is passed to this method and no channel exists matching the name, this block is called # @yieldparam [String] name of the missing channel # @return [Ably::Realtime::Channel] # def fetch(*args) super end # Detaches the {Ably::Realtime::Channel Realtime Channel} and releases all associated resources. # # Releasing a Realtime Channel is not typically necessary as a channel, once detached, consumes no resources other than # the memory footprint of the {Ably::Realtime::Channel Realtime Channel object}. Release channels to free up resources if required # # @return [void] # def release(channel) get(channel).detach do @channels.delete(channel) end if @channels.has_key?(channel) end end end end
Version data entries
6 entries across 6 versions & 2 rubygems