Class: Aspire::Enumerator::Base Abstract
- Inherits:
-
Object
- Object
- Aspire::Enumerator::Base
- Defined in:
- lib/aspire/enumerator/base.rb
Overview
This class is abstract.
Subclasses must implement #enumerate accepting the parameters passed to #enumerator and yielding values to self.yielder
The abstract base class for enumerator classes
Direct Known Subclasses
Instance Attribute Summary collapse
-
#yielder ⇒ Enumerator::Yielder
The yielder instance from an Enumerator.
Instance Method Summary collapse
-
#enumerate(*args, **kwargs) ⇒ Object
abstract
Enumerates the data passed in its arguments.
-
#enumerator(*args, **kwargs) ⇒ Enumerator
Returns an enumerator enumerating property/value pairs of JSON data.
Instance Attribute Details
#yielder ⇒ Enumerator::Yielder
Returns the yielder instance from an Enumerator.
11 12 13 |
# File 'lib/aspire/enumerator/base.rb', line 11 def yielder @yielder end |
Instance Method Details
#enumerate(*args, **kwargs) ⇒ Object
This method is abstract.
Subclasses must implement this method
Enumerates the data passed in its arguments
15 16 17 |
# File 'lib/aspire/enumerator/base.rb', line 15 def enumerate(*args, **kwargs) raise NotImplementedError end |
#enumerator(*args, **kwargs) ⇒ Enumerator
Returns an enumerator enumerating property/value pairs of JSON data
21 22 23 24 25 26 |
# File 'lib/aspire/enumerator/base.rb', line 21 def enumerator(*args, **kwargs) ::Enumerator.new do |yielder| self.yielder = yielder enumerate(*args, **kwargs) end end |