Class: LittleDutch::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/little-dutch/configuration.rb

Constant Summary collapse

DEFAULTS =
{
  'enabled'       => false,
  'endpoint'      => 'https://little-dutch.herokuapp.com',
  'interval'      => 60,
  'appname'       => 'app',
  'instance_name' => 'dev',
  'logfile'       => File.expand_path(File.join 'log', 'little-dutch.log')
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Configuration

Returns a new instance of Configuration.



48
49
50
51
# File 'lib/little-dutch/configuration.rb', line 48

def initialize(file)
  @options = load(file)
  FileUtils.mkdir_p File.dirname logfile if logfile.is_a? String
end

Instance Attribute Details

#loggerObject



71
72
73
# File 'lib/little-dutch/configuration.rb', line 71

def logger
  @logger ||= Logger.new logfile
end

Class Method Details

.envObject



22
23
24
25
26
27
28
# File 'lib/little-dutch/configuration.rb', line 22

def env
  if defined?(Rails)
    Rails.env
  else
    ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development'
  end
end

.option(*names) ⇒ Object



18
19
20
# File 'lib/little-dutch/configuration.rb', line 18

def option(*names)
  names.each { |n| define_option n }
end

Instance Method Details

#instance_idObject



53
54
55
# File 'lib/little-dutch/configuration.rb', line 53

def instance_id
  @instance_id ||= [instance_name, uuid].join '.'
end

#logfileObject



62
63
64
65
66
67
68
69
# File 'lib/little-dutch/configuration.rb', line 62

def logfile
  output = @options['logfile']
  if output.to_s.downcase.in? %w{stdout stderr}
    output.to_s.upcase.constantize
  else
    output
  end
end

#logfile=(file) ⇒ Object



57
58
59
60
# File 'lib/little-dutch/configuration.rb', line 57

def logfile=(file)
  @logger = nil
  @options['logfile'] = file
end