Module: Async::Enumerable::Configurable::ClassMethods
- Defined in:
- lib/async/enumerable/configurable.rb
Overview
Class methods for defining async enumerable sources
Instance Method Summary collapse
-
#__async_enumerable_collection_ref ⇒ Symbol?
Gets the collection reference from config.
-
#__async_enumerable_config ⇒ Config
Gets config with class-level overrides merged.
-
#__async_enumerable_config_ref ⇒ nil
Returns nil as classes don't cache config refs.
-
#def_async_enumerable(collection_ref = nil, **kwargs) ⇒ Object
Defines enumerable source for async operations.
Instance Method Details
#__async_enumerable_collection_ref ⇒ Symbol?
Gets the collection reference from config.
48 49 50 |
# File 'lib/async/enumerable/configurable.rb', line 48 def __async_enumerable_collection_ref __async_enumerable_config.collection_ref end |
#__async_enumerable_config ⇒ Config
Gets config with class-level overrides merged.
54 55 56 57 58 59 60 61 62 |
# File 'lib/async/enumerable/configurable.rb', line 54 def __async_enumerable_config # Dynamically merge module config with class overrides base = Async::Enumerable.config if @__async_enumerable_class_overrides base.with(**@__async_enumerable_class_overrides) else base end end |
#__async_enumerable_config_ref ⇒ nil
Returns nil as classes don't cache config refs.
66 67 68 |
# File 'lib/async/enumerable/configurable.rb', line 66 def __async_enumerable_config_ref nil end |
#def_async_enumerable(collection_ref = nil, **kwargs) ⇒ Object
Defines enumerable source for async operations.
41 42 43 44 |
# File 'lib/async/enumerable/configurable.rb', line 41 def def_async_enumerable(collection_ref = nil, **kwargs) # Store only the class-specific overrides, not a full config @__async_enumerable_class_overrides = {collection_ref:}.compact.merge(kwargs) end |