Sha256: ec0c7c60a2ae602de93c6da4b6449bc6e10eb100224ede75af17aea6941edf62
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
module Ably::Models # ChannelStateChange is a class that is emitted by the {Ably::Realtime::Channel} object # when a state change occurs # # @!attribute [r] current # @return [Connection::STATE] Current connection state # @!attribute [r] previous # @return [Connection::STATE] Previous connection state # @!attribute [r] reason # @return [Ably::Models::ErrorInfo] Object describing the reason for a state change when not initiated by the consumer of the client library # class ChannelStateChange include Ably::Modules::ModelCommon def initialize(hash_object) unless (hash_object.keys - [:current, :previous, :reason, :protocol_message]).empty? raise ArgumentError, 'Invalid attributes, expecting :current, :previous, :reason' end @hash_object = { current: hash_object.fetch(:current), previous: hash_object.fetch(:previous), retry_in: hash_object[:retry_in], reason: hash_object[:reason], protocol_message: hash_object[:protocol_message] } rescue KeyError => e raise ArgumentError, e end %w(current previous reason protocol_message).each do |attribute| define_method attribute do @hash_object[attribute.to_sym] end end def to_s "ChannelStateChange: current state #{current}, previous state #{previous}" end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
ably-rest-0.8.5 | lib/submodules/ably-ruby/lib/ably/models/channel_state_change.rb |
ably-0.8.5 | lib/ably/models/channel_state_change.rb |
ably-0.8.4 | lib/ably/models/channel_state_change.rb |