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