Module: ArtirixDataModels::WithDAORegistry
- Included in:
- AggregationsFactory, BasicModelDAO, CommonAggregation, DAORegistry::IdentityMap, EsCollection, ModelFieldsDAO
- Defined in:
- lib/artirix_data_models/with_dao_registry.rb
Constant Summary collapse
- DEFAULT_DAO_REGISTRY_LOADER =
->() { ArtirixDataModels::DAORegistry.instance }
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
-
#dao_registry ⇒ Object
set_xxx* methods can be chained (return self) xxx= methods return the value set.
- #dao_registry=(dao_registry) ⇒ Object
- #default_dao_registry ⇒ Object
- #set_dao_registry(dao_registry) ⇒ Object
-
#set_dao_registry_and_loader(dao_registry_loader, dao_registry) ⇒ Object
will use the loader if present, if not it will use the registry, if not present it will do nothing.
- #set_dao_registry_loader(dao_registry_loader) ⇒ Object
- #set_default_dao_registry_loader ⇒ Object (also: #set_default_dao_registry)
Instance Attribute Details
#dao_registry_loader ⇒ Object
23 24 25 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 23 def dao_registry_loader @dao_registry_loader || DEFAULT_DAO_REGISTRY_LOADER end |
Class Method Details
.loader_or_registry_or_default(dao_registry: nil, dao_registry_loader: nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 4 def self.loader_or_registry_or_default(dao_registry: nil, dao_registry_loader: nil) raise ArgumentError, 'loader has to respond to :call' if dao_registry_loader.present? && !dao_registry_loader.respond_to?(:call) if dao_registry_loader.respond_to? :call dao_registry_loader.call elsif dao_registry dao_registry else DEFAULT_DAO_REGISTRY_LOADER.call end end |
Instance Method Details
#dao_registry ⇒ Object
set_xxx* methods can be chained (return self) xxx= methods return the value set
19 20 21 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 19 def dao_registry dao_registry_loader.call end |
#dao_registry=(dao_registry) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 34 def dao_registry=(dao_registry) if dao_registry set_dao_registry_loader ->() { dao_registry } else set_default_dao_registry_loader end dao_registry end |
#default_dao_registry ⇒ Object
49 50 51 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 49 def default_dao_registry DEFAULT_DAO_REGISTRY_LOADER.call end |
#set_dao_registry(dao_registry) ⇒ Object
44 45 46 47 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 44 def set_dao_registry(dao_registry) self.dao_registry = dao_registry self end |
#set_dao_registry_and_loader(dao_registry_loader, dao_registry) ⇒ Object
will use the loader if present, if not it will use the registry, if not present it will do nothing.
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 61 def set_dao_registry_and_loader(dao_registry_loader, dao_registry) raise ArgumentError, 'loader has to respond to :call' if dao_registry_loader.present? && !dao_registry_loader.respond_to?(:call) if dao_registry_loader.respond_to? :call set_dao_registry_loader dao_registry_loader elsif dao_registry set_dao_registry dao_registry end self end |
#set_dao_registry_loader(dao_registry_loader) ⇒ Object
29 30 31 32 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 29 def set_dao_registry_loader(dao_registry_loader) self.dao_registry_loader = dao_registry_loader self end |
#set_default_dao_registry_loader ⇒ Object Also known as: set_default_dao_registry
53 54 55 56 |
# File 'lib/artirix_data_models/with_dao_registry.rb', line 53 def set_default_dao_registry_loader @dao_registry_loader = nil self end |