Class: Notifyor::Remote::Connection
- Inherits:
-
Object
- Object
- Notifyor::Remote::Connection
- Defined in:
- lib/notifyor/remote/connection.rb
Instance Method Summary collapse
- #build_redis_tunnel_connection ⇒ Object
- #build_tunnel ⇒ Object
- #growl_message(message) ⇒ Object
-
#initialize ⇒ Connection
constructor
A new instance of Connection.
- #subscribe_to_redis ⇒ Object
Constructor Details
#initialize ⇒ Connection
Returns a new instance of Connection.
11 12 13 14 15 16 17 18 19 |
# File 'lib/notifyor/remote/connection.rb', line 11 def initialize @ssh_host = ::Notifyor.configuration.ssh_host @ssh_port = ::Notifyor.configuration.ssh_port @ssh_user = ::Notifyor.configuration.ssh_user @tunnel_port = ::Notifyor.configuration.tunnel_port @redis_port = ::Notifyor.configuration.redis_port @ssh_gateway = nil @redis_tunnel_connection = nil end |
Instance Method Details
#build_redis_tunnel_connection ⇒ Object
28 29 30 31 |
# File 'lib/notifyor/remote/connection.rb', line 28 def build_redis_tunnel_connection redis_port = (['127.0.0.1', 'localhost'].include? @ssh_host) ? @redis_port : @tunnel_port @redis_tunnel_connection = Redis.new(port: redis_port) end |
#build_tunnel ⇒ Object
21 22 23 24 25 26 |
# File 'lib/notifyor/remote/connection.rb', line 21 def build_tunnel unless ['127.0.0.1', 'localhost'].include? @ssh_host @ssh_gateway = Net::SSH::Gateway.new(@ssh_host, @ssh_user, port: @ssh_port) @ssh_gateway.open('127.0.0.1', @redis_port, @tunnel_port) end end |
#growl_message(message) ⇒ Object
42 43 44 |
# File 'lib/notifyor/remote/connection.rb', line 42 def () ::Notifyor::Growl.create_growl("Notifyor", ) unless Notifyor::Util::Formatter.squish!().empty? end |
#subscribe_to_redis ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/notifyor/remote/connection.rb', line 33 def subscribe_to_redis @redis_tunnel_connection.subscribe('notifyor') do |on| on. do |channel, msg| data = JSON.parse(msg) (data['message']) end end end |