5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/constfig/config.rb', line 5
def define_config name, default = (no_default = true;nil)
return if Object.const_defined?(name)
has_default_value = !no_default
if value = ENV[name.to_s]
if has_default_value
type = default.is_a?(Class) ? default.name : default.class.name
value = convert_to_type value, type
end
else
raise RuntimeError, "missing config #{name}, and no default was provided" unless has_default_value
value = default
end
Object.const_set name, value
end
|