module TestConfig

Constants

VERSION

Public Class Methods

configure!(options = {}) click to toggle source
# File lib/test_config.rb, line 15
def self.configure!(options = {})
  opts = {
    :base_config      => 'default.yml',
    :source_directory => 'config/environments',
    :env_variable     => 'TEST_ENV'
  }.merge(options)

  @_configuration.clear!

  if opts[:base_config]
    @_configuration.load!("#{opts[:source_directory]}/#{opts[:base_config]}")
  end

  if opts[:env_variable] && ENV[opts[:env_variable]]
    ENV[opts[:env_variable]].split(/, */).each do |file|
      @_configuration.load!("#{opts[:source_directory]}/#{file}")
    end
  end
end
data() click to toggle source
# File lib/test_config.rb, line 11
def self.data
  @_configuration.data
end
has_key?(key) click to toggle source
# File lib/test_config.rb, line 43
def self.has_key?(key)
  data.has_key?(key)
end
load!(file_path) click to toggle source
# File lib/test_config.rb, line 35
def self.load!(file_path)
  @_configuration.load!(file_path)
end
method_missing(name, default = nil, *args, &block) click to toggle source
# File lib/test_config.rb, line 47
def self.method_missing(name, default = nil, *args, &block)
  if has_key?(name.to_sym)
    return data[name.to_sym]
  elsif default && default.is_a?(Hash) && default.has_key?(:or)
    return default[:or]
  else
    fail(NoMethodError, "Unknown configuration root: #{name}", caller)
  end
end
read(file_path) click to toggle source
# File lib/test_config.rb, line 39
def self.read(file_path)
  ConfigFile.new(file_path).data
end