Module: ModulePlus::ConfigConvention
Class Attribute Summary collapse
-
.config_hash ⇒ Object
readonly
Returns the value of attribute config_hash.
Class Method Summary collapse
- .add_def(c) ⇒ Object
- .config_dir ⇒ Object
- .config_dir=(d) ⇒ Object
- .config_file ⇒ Object
- .config_file=(f) ⇒ Object
- .dump(fs) ⇒ Object
- .extended(klass) ⇒ Object
- .field_path(array) ⇒ Object
- .field_path_position_no_head ⇒ Object
- .field_path_position_top ⇒ Object
- .root_dir ⇒ Object
- .root_dir=(d) ⇒ Object
Instance Method Summary collapse
Class Attribute Details
.config_hash ⇒ Object (readonly)
Returns the value of attribute config_hash.
25 26 27 |
# File 'lib/module_plus/config_convention.rb', line 25 def config_hash @config_hash end |
Class Method Details
.add_def(c) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/module_plus/config_convention.rb', line 27 def add_def(c) array = (c.path << c.key.to_s).reverse h = array.inject(c.sample){ |h, k| {k => h}} @config_hash ||= Hash.new { |h,k| h[k] = Hash.new(&h.default_proc) } @config_hash.deep_merge!( h ) end |
.config_dir ⇒ Object
68 69 70 |
# File 'lib/module_plus/config_convention.rb', line 68 def config_dir @config_dir end |
.config_dir=(d) ⇒ Object
64 65 66 |
# File 'lib/module_plus/config_convention.rb', line 64 def config_dir=(d) @config_dir ||= d end |
.config_file ⇒ Object
52 53 54 |
# File 'lib/module_plus/config_convention.rb', line 52 def config_file @config_file || 'config.yml' end |
.config_file=(f) ⇒ Object
48 49 50 |
# File 'lib/module_plus/config_convention.rb', line 48 def config_file=(f) @config_file ||= f end |
.dump(fs) ⇒ Object
72 73 74 |
# File 'lib/module_plus/config_convention.rb', line 72 def dump(fs) YAML.dump(@config_hash, fs) end |
.extended(klass) ⇒ Object
20 21 22 23 |
# File 'lib/module_plus/config_convention.rb', line 20 def extended(klass) super klass.extend(ModulePlus::Identification) end |
.field_path(array) ⇒ Object
43 44 45 46 |
# File 'lib/module_plus/config_convention.rb', line 43 def field_path(array) field_path_position_no_head array.drop(@field_path_position) end |
.field_path_position_no_head ⇒ Object
39 40 41 |
# File 'lib/module_plus/config_convention.rb', line 39 def field_path_position_no_head @field_path_position ||= 1 end |
.field_path_position_top ⇒ Object
35 36 37 |
# File 'lib/module_plus/config_convention.rb', line 35 def field_path_position_top @field_path_position ||= 0 end |
.root_dir ⇒ Object
60 61 62 |
# File 'lib/module_plus/config_convention.rb', line 60 def root_dir @config_root || ENV['HOME'] end |
.root_dir=(d) ⇒ Object
56 57 58 |
# File 'lib/module_plus/config_convention.rb', line 56 def root_dir=(d) @config_root = d end |
Instance Method Details
#config ⇒ Object
77 78 79 |
# File 'lib/module_plus/config_convention.rb', line 77 def config @_config ||= config_load end |
#config_dir ⇒ Object
83 84 85 86 |
# File 'lib/module_plus/config_convention.rb', line 83 def config_dir Pathname.new(ConfigConvention.root_dir) .join(ConfigConvention.config_dir || '.' + root_name.underscore) end |
#config_file ⇒ Object
88 89 90 |
# File 'lib/module_plus/config_convention.rb', line 88 def config_file config_dir.join(ConfigConvention.config_file) end |