Module: ConfigFiles::ClassMethods

Includes:
Meta
Defined in:
lib/config_files.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Meta

#meta_def, #meta_self

Instance Attribute Details

#directoriesObject

Returns the value of attribute directories.



22
23
24
# File 'lib/config_files.rb', line 22

def directories
  @directories
end

Instance Method Details

#any_extensionObject



24
25
26
# File 'lib/config_files.rb', line 24

def any_extension
  '*'
end

#build_combined(file) ⇒ Object



46
47
48
# File 'lib/config_files.rb', line 46

def build_combined(file)
  merged_hash(file)
end

#config_directories(*arr) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/config_files.rb', line 32

def config_directories(*arr)
  self.directories||={ :etc => ['config', 'etc', '/etc'] }
  arr.each do |directory_list|
    directory_list.each do |key, value|
      self.directories[key]=value.map { |dir| ::File.expand_path(dir) }
      meta_def("#{key}_dir") { @directories[key] }
    end
  end
end

#config_keyObject



28
29
30
# File 'lib/config_files.rb', line 28

def config_key
  :etc
end

#dynamic_config_files(*arr) ⇒ Object Also known as: config_files



57
58
59
60
61
# File 'lib/config_files.rb', line 57

def dynamic_config_files(*arr)
  arr.each do |file|
    meta_def(file) { build_combined(file) }
  end
end

#merged_hash(file) ⇒ Object



42
43
44
# File 'lib/config_files.rb', line 42

def merged_hash(file)
  config_files(file).inject({}) { |master, file|  master.deep_merge(FileFactory.(file)) }
end

#static_config_files(*arr) ⇒ Object



50
51
52
53
54
55
# File 'lib/config_files.rb', line 50

def static_config_files(*arr)
  arr.each do |file|
    content=build_combined(file)
    meta_def(file) { content }
  end
end