Module: ConfigFile
- Defined in:
- lib/config_file.rb,
lib/config_file/file.rb,
lib/config_file/include.rb,
lib/config_file/version.rb
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Classes: BlankSlate, File, UnknownConfigFile, UnknownKey
Constant Summary
collapse
- ALL =
{}
- VERSION =
"0.0.4"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.config_dirs ⇒ Object
41
42
43
|
# File 'lib/config_file.rb', line 41
def config_dirs
@config_dirs ||= %w{config .}
end
|
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/config_file.rb', line 17
def env
@env ||= case
when defined?(ENVIRONMENT)
ENVIRONMENT
when defined?(Rails)
Rails.env
else
ENV['RACK_ENV'] || ENV['RAILS_ENV'] || ENV['ENVIRONMENT']
end
end
|
28
29
30
31
32
33
34
35
|
# File 'lib/config_file.rb', line 28
def root
@root ||= case
when defined?(Rails)
Rails.root
else
::Pathname.new(File.expand_path('.'))
end
end
|
Class Method Details
.dev? ⇒ Boolean
37
38
39
|
# File 'lib/config_file.rb', line 37
def dev?
@dev ||= env == 'development'
end
|
.included(receiver) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/config_file/include.rb', line 28
def self.included(receiver)
word = receiver.to_s
word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
word.tr!("-", "_")
word.downcase!
receiver.extend ClassMethods
receiver.send :include, InstanceMethods
receiver.config_file_name = word
end
|
.method_missing(name, *args) ⇒ Object
45
46
47
48
49
50
51
|
# File 'lib/config_file.rb', line 45
def method_missing(name,*args)
ALL[name] ||= if file = find_file(name)
File.new(file)
else
raise UnknownConfigFile, "couldn't find file at 'config/#{name}.yml'"
end
end
|