class Servitude::Configuration

Public Class Methods

load( config_filepath, options={} ) click to toggle source
# File lib/servitude/configuration.rb, line 8
def self.load( config_filepath, options={} )
  merged_options = defaults.merge( file_options( config_filepath ))
  merged_options = merged_options.merge( options )
  new( merged_options )
end

Protected Class Methods

defaults() click to toggle source

Override to povide default config values

# File lib/servitude/configuration.rb, line 27
def self.defaults
  {
    threads: 1
  }
end
file_options( config_filepath ) click to toggle source
# File lib/servitude/configuration.rb, line 33
def self.file_options( config_filepath )
  return {} unless config_filepath

  File.exists?( config_filepath ) ?
    load_file_options( config_filepath ) :
    {}
end
load_file_options( config_filepath ) click to toggle source
# File lib/servitude/configuration.rb, line 41
def self.load_file_options( config_filepath )
  YAML::load( File.read( config_filepath ))
end

Public Instance Methods

for_env() click to toggle source
# File lib/servitude/configuration.rb, line 18
def for_env
  return Hashie::Mash.new({}) unless env
  self[env]
end
slice( *keys ) click to toggle source
# File lib/servitude/configuration.rb, line 14
def slice( *keys )
  klass.new( select { |k,v| keys.map( &:to_s ).include?( k ) } )
end

Protected Instance Methods

klass() click to toggle source
# File lib/servitude/configuration.rb, line 45
def klass
  self.class
end