Module: TestConfig
- Defined in:
- lib/test_config.rb,
lib/test_config/version.rb,
lib/test_config/config_data.rb,
lib/test_config/config_file.rb,
lib/test_config/hash_methods.rb
Defined Under Namespace
Modules: HashMethods
Classes: ConfigData, ConfigFile
Constant Summary
collapse
- VERSION =
"0.1.1"
Class Method Summary
collapse
Class Method Details
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# 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 ⇒ Object
11
12
13
|
# File 'lib/test_config.rb', line 11
def self.data
@_configuration.data
end
|
.has_key?(key) ⇒ Boolean
43
44
45
|
# File 'lib/test_config.rb', line 43
def self.has_key?(key)
data.has_key?(key)
end
|
.load!(file_path) ⇒ Object
35
36
37
|
# File 'lib/test_config.rb', line 35
def self.load!(file_path)
@_configuration.load!(file_path)
end
|
.method_missing(name, default = nil, *args, &block) ⇒ Object
47
48
49
50
51
52
53
54
55
|
# 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) ⇒ Object
39
40
41
|
# File 'lib/test_config.rb', line 39
def self.read(file_path)
ConfigFile.new(file_path).data
end
|