Class: Metrux::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/metrux/configuration.rb

Constant Summary collapse

DEFAULT_ENVIRONMENT =
'development'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(config_path = File.join(File.expand_path('.'), 'config', 'metrux.yml')) ⇒ Configuration

Returns a new instance of Configuration.



5
6
7
8
9
# File 'lib/metrux/configuration.rb', line 5

def initialize(
  config_path = File.join(File.expand_path('.'), 'config', 'metrux.yml')
)
  @config_path = config_path
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/metrux/configuration.rb', line 23

def active?
  @active ||= commons[:active]
end

#app_nameObject



15
16
17
# File 'lib/metrux/configuration.rb', line 15

def app_name
  @app_name ||= commons[:app_name]
end

#commonsObject



44
45
46
# File 'lib/metrux/configuration.rb', line 44

def commons
  @commons ||= ConfigBuilders::Common.new(yaml).build
end

#envObject



11
12
13
# File 'lib/metrux/configuration.rb', line 11

def env
  @env ||= ENV['RAILS_ENV'] || ENV['RACK_ENV'] || DEFAULT_ENVIRONMENT
end

#influxObject



27
28
29
# File 'lib/metrux/configuration.rb', line 27

def influx
  @influx ||= ConfigBuilders::Influx.new(yaml).build
end

#loggerObject



36
37
38
# File 'lib/metrux/configuration.rb', line 36

def logger
  @logger ||= ConfigBuilders::Logger.new(yaml).build
end

#periodic_gauge_intervalObject



31
32
33
34
# File 'lib/metrux/configuration.rb', line 31

def periodic_gauge_interval
  @periodic_gauge_interval ||=
    ConfigBuilders::PeriodicGauge.new(yaml).build
end

#prefixObject



19
20
21
# File 'lib/metrux/configuration.rb', line 19

def prefix
  @prefix ||= commons[:prefix]
end

#yamlObject



40
41
42
# File 'lib/metrux/configuration.rb', line 40

def yaml
  @yaml ||= ConfigBuilders::Yaml.new(config_path, env).build
end