Module: ConfigFiles::ConfigFilesClassMethods
- Includes:
- Meta
- Defined in:
- lib/config_files.rb
Instance Attribute Summary collapse
-
#directories ⇒ Object
Returns the value of attribute directories.
Class Method Summary collapse
Instance Method Summary collapse
- #any_extension ⇒ Object
- #build_combined(file) ⇒ Object
- #config_directories(*arr) ⇒ Object
- #config_key ⇒ Object
- #default_directories ⇒ Object
- #dynamic_config_files(*arr) ⇒ Object (also: #config_files)
- #merged_hash(file) ⇒ Object
- #static_config_files(*arr) ⇒ Object
Methods included from Meta
Instance Attribute Details
#directories ⇒ Object
Returns the value of attribute directories.
24 25 26 |
# File 'lib/config_files.rb', line 24 def directories @directories end |
Class Method Details
.extended(base) ⇒ Object
26 27 28 29 30 |
# File 'lib/config_files.rb', line 26 def self.extended(base) base.instance_eval do self.directories=default_directories end end |
Instance Method Details
#any_extension ⇒ Object
32 33 34 |
# File 'lib/config_files.rb', line 32 def any_extension '*' end |
#build_combined(file) ⇒ Object
58 59 60 |
# File 'lib/config_files.rb', line 58 def build_combined(file) merged_hash(file) end |
#config_directories(*arr) ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/config_files.rb', line 44 def config_directories(*arr) self.directories||=default_directories arr.each do |directory_list| directory_list.each do |key, value| self.directories[key]=value.map { |dir| ::File.(dir) } ("#{key}_dir") { @directories[key] } end end end |
#config_key ⇒ Object
36 37 38 |
# File 'lib/config_files.rb', line 36 def config_key :etc end |
#default_directories ⇒ Object
40 41 42 |
# File 'lib/config_files.rb', line 40 def default_directories { :etc => ['config', 'etc', '/etc'] } end |
#dynamic_config_files(*arr) ⇒ Object Also known as: config_files
69 70 71 72 73 |
# File 'lib/config_files.rb', line 69 def dynamic_config_files(*arr) arr.each do |file| (file) { build_combined(file) } end end |
#merged_hash(file) ⇒ Object
54 55 56 |
# File 'lib/config_files.rb', line 54 def merged_hash(file) config_files(file).inject({}) { |master, file| master.deep_merge(FileFactory.(file)) } end |
#static_config_files(*arr) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/config_files.rb', line 62 def static_config_files(*arr) arr.each do |file| content=build_combined(file) (file) { content } end end |