Module: ConfigSL::Merge::ClassMethods
- Defined in:
- lib/configsl/merge.rb
Overview
Class methods to manage precedence and loading of sources.
Instance Method Summary collapse
-
#configsl_available_sources ⇒ Array<Symbol>
Return the available sources dynamically discovered from ancestors.
-
#load(params = {}, source_options = {}) ⇒ self
Load config from all available sources and merge them in order.
-
#precedence(*sources) ⇒ Array<Symbol>
Set or get precedence order.
Instance Method Details
#configsl_available_sources ⇒ Array<Symbol>
Return the available sources dynamically discovered from ancestors
41 42 43 44 |
# File 'lib/configsl/merge.rb', line 41 def configsl_available_sources [:params] + ancestors.select { |ancestor| ancestor.respond_to?(:configsl_source_name) } .map(&:configsl_source_name) end |
#load(params = {}, source_options = {}) ⇒ self
Load config from all available sources and merge them in order.
18 19 20 21 |
# File 'lib/configsl/merge.rb', line 18 def load(params = {}, = {}) merged_params = configsl_load_merged_params(params, ) new(merged_params) end |
#precedence(*sources) ⇒ Array<Symbol>
Set or get precedence order
28 29 30 31 32 33 34 35 36 |
# File 'lib/configsl/merge.rb', line 28 def precedence(*sources) sources = sources.flatten if sources.any? configsl_validate_precedence_sources(sources) @precedence = sources else @precedence || configsl_default_precedence end end |