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
Knowledge::Initializer.run(adapters: adapters, params: { foo: :bar }, setter: setter, variables: variables)
Attributes ===
Instance Attribute Summary collapse
-
#adapters ⇒ Object
readonly
Attributes ==================================================================================================.
-
#params ⇒ Object
readonly
Attributes ==================================================================================================.
-
#setter ⇒ Object
readonly
Attributes ==================================================================================================.
-
#variables ⇒ Object
readonly
Attributes ==================================================================================================.
Class Method Summary collapse
-
.run(adapters:, params:, setter:, variables: {}) ⇒ Object
Description ===.
Instance Method Summary collapse
-
#initialize(adapters:, params:, setter:, variables:) ⇒ Initializer
constructor
Constructor =================================================================================================.
-
#run ⇒ Object
Instance methods ============================================================================================.
Constructor Details
#initialize(adapters:, params:, setter:, variables:) ⇒ Initializer
Constructor =================================================================================================
35 36 37 38 39 40 |
# File 'lib/knowledge/initializer.rb', line 35 def initialize(adapters:, params:, setter:, variables:) @adapters = adapters @params = params @setter = setter @variables = variables end |
Instance Attribute Details
#adapters ⇒ Object (readonly)
Attributes ==================================================================================================
24 25 26 |
# File 'lib/knowledge/initializer.rb', line 24 def adapters @adapters end |
#params ⇒ Object (readonly)
Attributes ==================================================================================================
24 25 26 |
# File 'lib/knowledge/initializer.rb', line 24 def params @params end |
#setter ⇒ Object (readonly)
Attributes ==================================================================================================
24 25 26 |
# File 'lib/knowledge/initializer.rb', line 24 def setter @setter end |
#variables ⇒ Object (readonly)
Attributes ==================================================================================================
24 25 26 |
# File 'lib/knowledge/initializer.rb', line 24 def variables @variables end |
Class Method Details
.run(adapters:, params:, setter:, variables: {}) ⇒ Object
Description ===
Instanciates the current class and runs all registered adapters.
Parameters ===
56 57 58 |
# File 'lib/knowledge/initializer.rb', line 56 def run(adapters:, params:, setter:, variables: {}) new(adapters: adapters, params: params, setter: setter, variables: variables).run end |
Instance Method Details
#run ⇒ Object
Instance methods ============================================================================================
Description ===
Runs all registered adapters.
67 68 69 70 71 72 73 74 75 |
# File 'lib/knowledge/initializer.rb', line 67 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 |