Class: YamlConfiguration::Configuration
- Inherits:
-
Object
- Object
- YamlConfiguration::Configuration
show all
- Defined in:
- lib/yaml_configuration/configuration.rb
Instance Method Summary
collapse
Constructor Details
#initialize(hash_configuration, parent = nil, name = nil) ⇒ Configuration
Returns a new instance of Configuration.
3
4
5
6
7
|
# File 'lib/yaml_configuration/configuration.rb', line 3
def initialize(hash_configuration, parent=nil, name=nil)
@config = hash_configuration
@name = name
@parent = parent
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/yaml_configuration/configuration.rb', line 18
def method_missing(method, *args, &block)
method_name = method.to_s
if asking_if_setting_exist(method_name)
setting_exist?(method_name)
elsif setting_exist?(method_name)
return_value_of_setting(method_name)
else
raise "The setting '#{full_name(method_name)}' is not present in the configuration"
end
end
|
Instance Method Details
#full_name(setting_name) ⇒ Object
9
10
11
|
# File 'lib/yaml_configuration/configuration.rb', line 9
def full_name(setting_name)
(hierarchy + [setting_name]).join('.')
end
|
#hierarchy ⇒ Object
13
14
15
16
|
# File 'lib/yaml_configuration/configuration.rb', line 13
def hierarchy
return @parent.hierarchy + [@name] unless @parent.nil?
[]
end
|