Class: Travis::Client::Listener::Socket
- Inherits:
-
PusherClient::Socket
- Object
- PusherClient::Socket
- Travis::Client::Listener::Socket
- Defined in:
- lib/travis/client/listener.rb
Instance Attribute Summary collapse
-
#session ⇒ Object
Returns the value of attribute session.
-
#signatures ⇒ Object
Returns the value of attribute signatures.
Instance Method Summary collapse
- #fetch_auth(*channels) ⇒ Object
- #get_private_auth(channel) ⇒ Object
-
#initialize(application_key, options = {}) ⇒ Socket
constructor
A new instance of Socket.
- #subscribe_all ⇒ Object
Constructor Details
#initialize(application_key, options = {}) ⇒ Socket
Returns a new instance of Socket.
16 17 18 19 20 |
# File 'lib/travis/client/listener.rb', line 16 def initialize(application_key, = {}) @session = .fetch(:session) @signatures = {} super end |
Instance Attribute Details
#session ⇒ Object
Returns the value of attribute session.
15 16 17 |
# File 'lib/travis/client/listener.rb', line 15 def session @session end |
#signatures ⇒ Object
Returns the value of attribute signatures.
15 16 17 |
# File 'lib/travis/client/listener.rb', line 15 def signatures @signatures end |
Instance Method Details
#fetch_auth(*channels) ⇒ Object
28 29 30 31 |
# File 'lib/travis/client/listener.rb', line 28 def fetch_auth(*channels) channels.select! { |c| signatures[c].nil? if c.start_with? 'private-' } signatures.merge! session.post_raw('/pusher/auth', :channels => channels, :socket_id => socket_id)['channels'] if channels.any? end |
#get_private_auth(channel) ⇒ Object
33 34 35 36 |
# File 'lib/travis/client/listener.rb', line 33 def get_private_auth(channel) fetch_auth(channel.name) signatures[channel.name] end |
#subscribe_all ⇒ Object
22 23 24 25 26 |
# File 'lib/travis/client/listener.rb', line 22 def subscribe_all # bulk auth on connect fetch_auth(*channels.channels.keys) super end |