Module: ArtirixDataModels
- Defined in:
- lib/artirix_data_models/model.rb,
lib/artirix_data_models.rb,
lib/artirix_data_models/dao.rb,
lib/artirix_data_models/version.rb,
lib/artirix_data_models/active_null.rb,
lib/artirix_data_models/aggregation.rb,
lib/artirix_data_models/inspectable.rb,
lib/artirix_data_models/es_collection.rb,
lib/artirix_data_models/aggregation_builder.rb,
lib/artirix_data_models/aggregations_factory.rb,
lib/artirix_data_models/raw_aggregation_data_normaliser.rb,
lib/artirix_data_models/dao_concerns/with_response_adaptors.rb
Overview
Responsibilities
-
ActiveModel compliant (to_param, valid?, save…)
-
Attributes (on initialise, getters and private setters)
-
Automatic timestamp attribute attributes definition (_timestamp)
-
Definition of Primary Key
-
Cache key (calculation of cache key based on minimum information)
-
Partial mode (reload, automatic reload when accessing an unavailable attribute)
6.1 partial mode - Reload with new data hash
6.2 partial mode - Check if in partial mode or in full mode
6.3 partial mode - reload using DAO
-
Rails Model Param based on Primary Key (for URLs and such)
Defined Under Namespace
Modules: ActiveNull, CacheService, DAO, DAOConcerns, GatewayResponseAdaptors, Inspectable, Model Classes: Aggregation, AggregationBuilder, AggregationsFactory, BasicModelDAO, CachedActionAdaptor, CommonAggregation, DAORegistry, DataGateway, EsCollection, FakeResponseFactory, IllegalActionError, MetricAggregation, ModelFieldsDAO, RawAggregationDataNormaliser
Constant Summary collapse
- DisabledLogger =
internal Classes
Naught.build do |config| config.black_hole end
- DisabledCache =
Naught.build do |config| config.black_hole def enabled? false end def exist?(*) false end def write(cache_key, value, *_) value end end
- VERSION =
'0.17.0'
Class Method Summary collapse
-
.cache ⇒ Object
CACHE.
- .cache=(cache) ⇒ Object
- .cache_loader ⇒ Object
- .cache_loader=(loader = nil, &block) ⇒ Object
- .default_cache_loader ⇒ Object
- .default_logger_loader ⇒ Object
- .disable_cache ⇒ Object
- .disable_logger ⇒ Object
- .disabled_cache ⇒ Object
- .disabled_logger ⇒ Object
-
.logger ⇒ Object
LOGGER.
- .logger=(logger) ⇒ Object
- .logger_loader ⇒ Object
- .logger_loader=(loader = nil, &block) ⇒ Object
Class Method Details
.cache ⇒ Object
CACHE
99 100 101 |
# File 'lib/artirix_data_models.rb', line 99 def self.cache cache_loader.call end |
.cache=(cache) ⇒ Object
121 122 123 |
# File 'lib/artirix_data_models.rb', line 121 def self.cache=(cache) @cache_loader = -> { cache } end |
.cache_loader ⇒ Object
113 114 115 |
# File 'lib/artirix_data_models.rb', line 113 def self.cache_loader @cache_loader ||= default_cache_loader end |
.cache_loader=(loader = nil, &block) ⇒ Object
103 104 105 106 107 108 109 110 111 |
# File 'lib/artirix_data_models.rb', line 103 def self.cache_loader=(loader=nil, &block) if block_given? @cache_loader = block elsif loader.present? && loader.respond_to?(:call) @cache_loader = loader else raise 'no block or callable object given as a loader' end end |
.default_cache_loader ⇒ Object
117 118 119 |
# File 'lib/artirix_data_models.rb', line 117 def self.default_cache_loader lambda { defined?(Rails) ? Rails.cache : disabled_cache } end |
.default_logger_loader ⇒ Object
81 82 83 |
# File 'lib/artirix_data_models.rb', line 81 def self.default_logger_loader lambda { defined?(Rails) ? Rails.logger : disabled_logger } end |
.disable_cache ⇒ Object
125 126 127 |
# File 'lib/artirix_data_models.rb', line 125 def self.disable_cache @cache_loader = -> { disabled_cache } end |
.disable_logger ⇒ Object
89 90 91 |
# File 'lib/artirix_data_models.rb', line 89 def self.disable_logger @logger_loader = -> { disabled_logger } end |
.disabled_cache ⇒ Object
129 130 131 |
# File 'lib/artirix_data_models.rb', line 129 def self.disabled_cache @disabled_cache ||= DisabledCache.new end |
.disabled_logger ⇒ Object
93 94 95 |
# File 'lib/artirix_data_models.rb', line 93 def self.disabled_logger @disabled_logger ||= DisabledLogger.new end |
.logger ⇒ Object
LOGGER
63 64 65 |
# File 'lib/artirix_data_models.rb', line 63 def self.logger logger_loader.call end |
.logger=(logger) ⇒ Object
85 86 87 |
# File 'lib/artirix_data_models.rb', line 85 def self.logger=(logger) @logger_loader = -> { logger } end |
.logger_loader ⇒ Object
77 78 79 |
# File 'lib/artirix_data_models.rb', line 77 def self.logger_loader @logger_loader ||= default_logger_loader end |
.logger_loader=(loader = nil, &block) ⇒ Object
67 68 69 70 71 72 73 74 75 |
# File 'lib/artirix_data_models.rb', line 67 def self.logger_loader=(loader=nil, &block) if block_given? @logger_loader = block elsif loader.present? && loader.respond_to?(:call) @logger_loader = loader else raise 'no block or callable object given as a loader' end end |