Class: Eagle::PusherConfigurator

Inherits:
Object
  • Object
show all
Defined in:
lib/eagle/pusher_configurator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_param) ⇒ PusherConfigurator

Returns a new instance of PusherConfigurator.



4
5
6
# File 'lib/eagle/pusher_configurator.rb', line 4

def initialize(config_param)
  @config = config_param
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



3
4
5
# File 'lib/eagle/pusher_configurator.rb', line 3

def config
  @config
end

Instance Method Details

#init_pusherObject

pusher is for pushing events (pusher gem)



9
10
11
12
13
14
15
# File 'lib/eagle/pusher_configurator.rb', line 9

def init_pusher
  Pusher.app_id = @config.pusher_app_id
  Pusher.key    = @config.pusher_key
  Pusher.secret = @config.pusher_secret
  Pusher.host   = @config.pusher_address
  Pusher.port   = @config.pusher_port
end

#init_pusher_clientObject

pusher-client is for subscribing to events (pusher-client gem)



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/eagle/pusher_configurator.rb', line 19

def init_pusher_client
  suppress_warnings do
    PusherClient.const_set(:HOST, @config.pusher_address)
    PusherClient.const_set(:WS_PORT, @config.pusher_ws_port)
    PusherClient.logger   = Logger.new(STDOUT)
  end

  options = {:secret => @config.pusher_secret}
  @pusher_socket = PusherClient::Socket.new(@config.pusher_key, options)
  @pusher_socket.connect(true) # Connect asynchronously
  return @pusher_socket
end