Sha256: 1a642b6c3f8ee231c75274384e6d8a3da3538c8729372dfd424c60425c081179

Contents?: true

Size: 579 Bytes

Versions: 51

Compression:

Stored size: 579 Bytes

Contents

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

  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

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

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
marty-14.3.0 lib/marty/diagnostic/node.rb
marty-14.0.0 lib/marty/diagnostic/node.rb
marty-13.0.2 lib/marty/diagnostic/node.rb
marty-11.0.0 lib/marty/diagnostic/node.rb
marty-10.0.3 lib/marty/diagnostic/node.rb
marty-10.0.2 lib/marty/diagnostic/node.rb
marty-10.0.0 lib/marty/diagnostic/node.rb
marty-9.5.1 lib/marty/diagnostic/node.rb
marty-9.5.0 lib/marty/diagnostic/node.rb
marty-9.3.3 lib/marty/diagnostic/node.rb
marty-9.3.2 lib/marty/diagnostic/node.rb
marty-9.3.0 lib/marty/diagnostic/node.rb
marty-8.5.0 lib/marty/diagnostic/node.rb
marty-8.4.1 lib/marty/diagnostic/node.rb
marty-8.3.1 lib/marty/diagnostic/node.rb
marty-8.2.0 lib/marty/diagnostic/node.rb
marty-8.0.0 lib/marty/diagnostic/node.rb
marty-6.1.0 lib/marty/diagnostic/node.rb
marty-5.2.0 other/marty/diagnostic/node.rb
marty-5.1.4 other/marty/diagnostic/node.rb