Module: Marty::Diagnostic::Node

Defined in:
lib/marty/diagnostic/node.rb

Class Method Summary collapse

Class Method Details

.get_nodesObject



17
18
19
20
# File 'lib/marty/diagnostic/node.rb', line 17

def self.get_nodes
  nodes = get_target_connections('Passenger').uniq.compact
  nodes.empty? ? [my_ip] : nodes
end

.get_target_connections(target) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/marty/diagnostic/node.rb', line 8

def self.get_target_connections target
  Marty::Diagnostic::Database.current_connections.select do |conn|
    conn['application_name'].include?(target)
  end.map do |conn|
    conn['client_addr'] == '127.0.0.1' ? my_ip :
      conn['client_addr'] || '127.0.0.1'
  end
end

.my_ipObject



2
3
4
5
6
# File 'lib/marty/diagnostic/node.rb', line 2

def self.my_ip
    Socket.ip_address_list.detect(&:ipv4_private?).ip_address
rescue StandardError => e
    e.message
end