Class: Numerics::Configuration
- Inherits:
-
Object
- Object
- Numerics::Configuration
show all
- Defined in:
- lib/numerics/configuration.rb
Instance Method Summary
collapse
Constructor Details
#initialize(arg, env = nil) ⇒ Configuration
Returns a new instance of Configuration.
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/numerics/configuration.rb', line 26
def initialize(arg, env=nil)
@config = if arg.is_a?(Hash)
arg
else
if arg.match(/\.json$/)
File.open(arg){ |f| Yajl::Parser.parse(f) }
elsif arg.match(/\.ya?ml$/)
YAML::load_file(arg)
else
nil
end
end
if !@config
raise "Only json and yaml config files supported"
end
if env
@config = @config[env.to_s] || @config[env.to_sym]
if !@config
raise "No #{env} found in #{arg}"
end
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth) ⇒ Object
71
72
73
74
75
76
77
78
|
# File 'lib/numerics/configuration.rb', line 71
def method_missing(meth)
keys = @config[meth.to_s] || @config[meth.to_sym]
if keys
KeySet.new(keys)
else
super
end
end
|
Instance Method Details
#disabled? ⇒ Boolean
55
56
57
|
# File 'lib/numerics/configuration.rb', line 55
def disabled?
@config[:disabled] || @config['disabled']
end
|
#host ⇒ Object
59
60
61
|
# File 'lib/numerics/configuration.rb', line 59
def host
@config[:host] || @config['host']
end
|
#main ⇒ Object
51
52
53
|
# File 'lib/numerics/configuration.rb', line 51
def main
KeySet.new(@config['main'] || @config[:main] || @config)
end
|
#port ⇒ Object
63
64
65
|
# File 'lib/numerics/configuration.rb', line 63
def port
@config[:port] || @config['port']
end
|
#respond_to?(meth) ⇒ Boolean
67
68
69
|
# File 'lib/numerics/configuration.rb', line 67
def respond_to?(meth)
@config.has_key?(meth.to_s) || @config.has_key?(meth.to_sym) || super
end
|