Class: Librato::Rails::Configuration

Inherits:
Rack::Configuration
  • Object
show all
Defined in:
lib/librato/rails/configuration.rb

Overview

Adds yaml-based config and extra properties to the configuration class provided by librato-rack

github.com/librato/librato-rack/blob/master/lib/librato/rack/configuration.rb

Constant Summary collapse

CONFIG_SETTABLE =
%w{flush_interval log_level prefix proxy suites tags token user}
DEFAULT_SUITES =
[:rails_cache, :rails_controller, :rails_mail, :rails_method, :rails_render, :rails_sql, :rails_status, :rails_job]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

options:

  • :config_file - alternate config file location



21
22
23
24
25
# File 'lib/librato/rails/configuration.rb', line 21

def initialize(options={})
  self.config_file = options[:config_file] || 'config/librato.yml'
  super()
  self.log_prefix = '[librato-rails] '
end

Instance Attribute Details

#config_byObject

Returns the value of attribute config_by.



16
17
18
# File 'lib/librato/rails/configuration.rb', line 16

def config_by
  @config_by
end

#config_fileObject

Returns the value of attribute config_file.



16
17
18
# File 'lib/librato/rails/configuration.rb', line 16

def config_file
  @config_file
end

Instance Method Details

#load_configurationObject

detect and load configuration from config file or env vars



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/librato/rails/configuration.rb', line 28

def load_configuration
  if self.config_file && File.exists?(self.config_file)
    configure_with_config_file
  else
    self.config_by = :environment
    super
  end

  self.tags = detect_tags

  # respect autorun and log_level env vars regardless of config method
  self.autorun = detect_autorun
  self.log_level = :info if log_level.blank?
  self.suites = '' if suites.nil?
  self.log_level = ENV['LIBRATO_LOG_LEVEL'] if ENV['LIBRATO_LOG_LEVEL']
end