class LittleDutch::Configuration
Constants
- DEFAULTS
Attributes
logger[W]
Public Class Methods
env()
click to toggle source
# 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
new(file)
click to toggle source
# 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
option(*names)
click to toggle source
# File lib/little-dutch/configuration.rb, line 18 def option(*names) names.each { |n| define_option n } end
Private Class Methods
define_option(name)
click to toggle source
# File lib/little-dutch/configuration.rb, line 32 def define_option(name) define_method name do @options[name.to_s] end define_method "#{name}=" do |val| @options[name.to_s] = val end end
Public Instance Methods
instance_id()
click to toggle source
# File lib/little-dutch/configuration.rb, line 53 def instance_id @instance_id ||= [instance_name, uuid].join '.' end
logfile()
click to toggle source
# 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)
click to toggle source
# File lib/little-dutch/configuration.rb, line 57 def logfile=(file) @logger = nil @options['logfile'] = file end
logger()
click to toggle source
# File lib/little-dutch/configuration.rb, line 71 def logger @logger ||= Logger.new logfile end
Private Instance Methods
load(file)
click to toggle source
# File lib/little-dutch/configuration.rb, line 81 def load(file) return DEFAULTS unless File.exists?(file) parse_yaml(File.read file).fetch(env) { {} }.reverse_merge DEFAULTS end
parse_yaml(contents)
click to toggle source
# File lib/little-dutch/configuration.rb, line 86 def parse_yaml(contents) YAML.load ERB.new(contents).result end
uuid()
click to toggle source
# File lib/little-dutch/configuration.rb, line 77 def uuid @uuid ||= SecureRandom.uuid end