class StackAgent::Configuration

Constants

DEFAULT_API_HOST

Attributes

api_host[RW]
app_token[RW]
group[RW]
name[RW]
uri[RW]

Public Class Methods

new() click to toggle source
# File lib/stack-agent/configuration.rb, line 13
def initialize
  @api_host = DEFAULT_API_HOST
  @name = Socket.gethostname

  # If we're running inside rails, attempt to fill in a bunch of the blanks
  if defined?(Rails) && Rails.env.development?
    @group = 'Development'
    @uri = "http://#{ip}:#{port}" if port
  end
end

Private Instance Methods

ip() click to toggle source
# File lib/stack-agent/configuration.rb, line 26
def ip
  Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address
end
is_known_http_server?() click to toggle source
# File lib/stack-agent/configuration.rb, line 35
def is_known_http_server?
  %w(puma unicorn thin rackup).include?(File.basename($0))
end
port() click to toggle source
# File lib/stack-agent/configuration.rb, line 30
def port
  return Rails::Server.new.options[:Port] if defined?(Rails::Server)
  return ENV['PORT'] if (ENV['PORT'] && is_known_http_server?)
end