Class: Gitlab::Database::Aggregation::DefinitionsCollector
- Inherits:
-
Object
- Object
- Gitlab::Database::Aggregation::DefinitionsCollector
- Defined in:
- lib/gitlab/database/aggregation/definitions_collector.rb
Instance Method Summary collapse
- #collect(&definitions_block) ⇒ Object
-
#initialize(mapping) ⇒ DefinitionsCollector
constructor
A new instance of DefinitionsCollector.
Constructor Details
#initialize(mapping) ⇒ DefinitionsCollector
Returns a new instance of DefinitionsCollector.
7 8 9 10 |
# File 'lib/gitlab/database/aggregation/definitions_collector.rb', line 7 def initialize(mapping) @collection = [] @mapping = mapping end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name) ⇒ Object (private)
24 25 26 27 28 |
# File 'lib/gitlab/database/aggregation/definitions_collector.rb', line 24 def method_missing(method_name, ...) return super unless @mapping[method_name] @collection << @mapping[method_name].new(...) end |
Instance Method Details
#collect(&definitions_block) ⇒ Object
12 13 14 15 16 |
# File 'lib/gitlab/database/aggregation/definitions_collector.rb', line 12 def collect(&definitions_block) instance_exec(&definitions_block) @collection end |