Class: Knowledge::Initializer
- Inherits:
-
Object
- Object
- Knowledge::Initializer
- Defined in:
- lib/knowledge/initializer.rb
Overview
Description
We all need an initializer, here’s this lib’s initializer. Its role is to gather all informations and run the enabled adapters.
Usage
@example:
Knowledge::Initializer.new(adapters: adapters, params: { foo: :bar }, setter: setter, variables: variables).run
# or
Knowledge::Initializer.run(adapters: adapters, params: { foo: :bar }, setter: setter, variables: variables)
Attributes
Instance Attribute Summary collapse
-
#adapters ⇒ Object
readonly
Adapters that will be used to retrieve variables’ values.
-
#params ⇒ Object
readonly
Additionnal parameters to pass to the adapters.
-
#setter ⇒ Object
readonly
Setter used to set variables after having retrieved their values.
-
#variables ⇒ Object
readonly
Descriptor for the variables to retrieve/fetch.
Class Method Summary collapse
-
.run(adapters:, params:, setter:, variables: {}) ⇒ Object
Instanciates the current class and runs all registered adapters.
Instance Method Summary collapse
-
#initialize(adapters:, params:, setter:, variables:) ⇒ Initializer
constructor
Just initializes instance variables with given params.
-
#run ⇒ Object
Runs all registered adapters.
Constructor Details
#initialize(adapters:, params:, setter:, variables:) ⇒ Initializer
Just initializes instance variables with given params.
Parameters
53 54 55 56 57 58 |
# File 'lib/knowledge/initializer.rb', line 53 def initialize(adapters:, params:, setter:, variables:) @adapters = adapters @params = params @setter = setter @variables = variables end |
Instance Attribute Details
#adapters ⇒ Object (readonly)
Adapters that will be used to retrieve variables’ values
26 27 28 |
# File 'lib/knowledge/initializer.rb', line 26 def adapters @adapters end |
#params ⇒ Object (readonly)
Additionnal parameters to pass to the adapters
26 27 28 |
# File 'lib/knowledge/initializer.rb', line 26 def params @params end |
#setter ⇒ Object (readonly)
Setter used to set variables after having retrieved their values
26 27 28 |
# File 'lib/knowledge/initializer.rb', line 26 def setter @setter end |
#variables ⇒ Object (readonly)
Descriptor for the variables to retrieve/fetch
26 27 28 |
# File 'lib/knowledge/initializer.rb', line 26 def variables @variables end |
Class Method Details
.run(adapters:, params:, setter:, variables: {}) ⇒ Object
Instanciates the current class and runs all registered adapters.
Parameters
72 73 74 |
# File 'lib/knowledge/initializer.rb', line 72 def run(adapters:, params:, setter:, variables: {}) new(adapters: adapters, params: params, setter: setter, variables: variables).run end |
Instance Method Details
#run ⇒ Object
Runs all registered adapters.
82 83 84 85 86 87 88 89 90 |
# File 'lib/knowledge/initializer.rb', line 82 def run Hash(adapters).each do |name, adapter| adapter.new( params: params[name.to_sym] || params, setter: setter, variables: variables[name.to_sym] || variables ).run end end |