class ArtirixDataModels::BasicModelDAO
Attributes
fake_mode_factory[R]
gateway_factory[R]
model_class[R]
model_name[R]
paths_factory[R]
Public Class Methods
new(dao_registry: nil, dao_registry_loader: nil, model_name:, model_class:, paths_factory:, gateway:, fake_mode_factory:, gateway_factory:, ignore_default_gateway: false)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 7 def initialize(dao_registry: nil, dao_registry_loader: nil, model_name:, model_class:, paths_factory:, gateway:, fake_mode_factory:, gateway_factory:, ignore_default_gateway: false) set_dao_registry_and_loader dao_registry_loader, dao_registry @model_name = model_name @model_class = model_class @paths_factory = paths_factory @loaded_gateway = gateway @gateway_factory = gateway_factory @fake_mode_factory = fake_mode_factory @ignore_default_gateway = ignore_default_gateway end
Public Instance Methods
_delete(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
Alias for: perform_delete
_get(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
old names
Alias for: perform_get
_post(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
Alias for: perform_post
_put(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
Alias for: perform_put
default_gateway_available?()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 28 def default_gateway_available? !@ignore_default_gateway end
empty_collection(from, size)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 163 def empty_collection(from, size) empty_collection_for model_class, from, size end
empty_collection_for(model_class, from, size)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 167 def empty_collection_for(model_class, from, size) ArtirixDataModels::EsCollection.empty model_class, from: from, size: size end
fake?()
click to toggle source
FAKE MODE #
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 120 def fake? return true if forced_fake_enabled? return false if forced_fake_disabled? fake_mode_factory.enabled? end
fake_get_full_response(model_pk, model_to_reload = nil)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 158 def fake_get_full_response(model_pk, model_to_reload = nil) return nil unless fake? -> { fake_mode_factory.get_full model_pk, model_to_reload } end
fake_get_response(model_pk)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 148 def fake_get_response(model_pk) return nil unless fake? -> { fake_mode_factory.get model_pk } end
fake_get_some_response(model_pks)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 153 def fake_get_some_response(model_pks) return nil unless fake? -> { fake_mode_factory.get_some model_pks } end
find(model_pk, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 59 def find(model_pk, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options) path ||= paths_factory.get model_pk response_adaptor ||= response_adaptor_for_single fake_response ||= fake_get_response(model_pk) perform_get path, response_adaptor: response_adaptor, fake_response: fake_response, cache_adaptor: cache_adaptor, **extra_options end
force_fake_disabled()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 130 def force_fake_disabled @_forced_fake_enabled = false end
force_fake_enabled()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 126 def force_fake_enabled @_forced_fake_enabled = true end
forced_fake_disabled?()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 143 def forced_fake_disabled? return false if @_forced_fake_enabled.nil? !@_forced_fake_enabled end
forced_fake_enabled?()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 138 def forced_fake_enabled? return false if @_forced_fake_enabled.nil? !!@_forced_fake_enabled end
get(*args)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 53 def get(*args) find *args rescue ArtirixDataModels::DataGateway::NotFound nil end
get_full(model_pk, model_to_reload:, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
click to toggle source
ACTIONS #
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 42 def get_full(model_pk, model_to_reload:, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options) path ||= paths_factory.get_full model_pk response_adaptor ||= response_adaptor_for_reload(model_to_reload) fake_response ||= fake_get_full_response(model_pk, model_to_reload) perform_get path, response_adaptor: response_adaptor, fake_response: fake_response, cache_adaptor: cache_adaptor, **extra_options model_to_reload.mark_full_mode model_to_reload end
get_some(model_pks, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 71 def get_some(model_pks, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options) path ||= paths_factory.get_some(model_pks) response_adaptor ||= response_adaptor_for_some fake_response ||= fake_get_some_response(model_pks) perform_get path, response_adaptor: response_adaptor, fake_response: fake_response, cache_adaptor: cache_adaptor, **extra_options rescue ArtirixDataModels::DataGateway::NotFound [] end
loaded_gateway()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 32 def loaded_gateway @loaded_gateway ||= if gateway_factory.blank? && default_gateway_available? dao_registry.get(:gateway) end end
partial_mode_fields()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 94 def partial_mode_fields if fake? fake_mode_factory.partial_mode_fields else dao_registry.get(:model_fields).partial_mode_fields_for model_name end end
perform_delete(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 248 def perform_delete(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil) fake = fake.nil? ? fake? : fake g = gateway.presence || preloaded_gateway raise_no_gateway unless g.present? g.delete path, response_adaptor: response_adaptor, body: body, timeout: timeout, fake: fake, fake_response: fake_response, cache_adaptor: cache_adaptor, headers: headers end
Also aliased as: _delete
perform_get(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
click to toggle source
PERFORM CALLS #
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 175 def perform_get(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil) fake = fake.nil? ? fake? : fake g = gateway.presence || preloaded_gateway raise_no_gateway unless g.present? g.get path, response_adaptor: response_adaptor, body: body, timeout: timeout, fake: fake, fake_response: fake_response, cache_adaptor: cache_adaptor, headers: headers end
Also aliased as: _get
perform_post(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 200 def perform_post(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil) fake = fake.nil? ? fake? : fake g = gateway.presence || preloaded_gateway raise_no_gateway unless g.present? g.post path, response_adaptor: response_adaptor, body: body, timeout: timeout, fake: fake, fake_response: fake_response, cache_adaptor: cache_adaptor, headers: headers end
Also aliased as: _post
perform_put(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 224 def perform_put(path, fake: nil, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil) fake = fake.nil? ? fake? : fake g = gateway.presence || preloaded_gateway raise_no_gateway unless g.present? g.put path, response_adaptor: response_adaptor, body: body, timeout: timeout, fake: fake, fake_response: fake_response, cache_adaptor: cache_adaptor, headers: headers end
Also aliased as: _put
preloaded_gateway()
click to toggle source
GATEWAY #
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 88 def preloaded_gateway loaded_gateway.presence || gateway_factory.call end
Also aliased as: gateway
raise_no_gateway()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 102 def raise_no_gateway msg = 'no gateway passed to request, no gateway configured on creation' if gateway_factory.present? msg = "#{msg}, and no gateway returned by the factory" else msg = "#{msg}, and no gateway factory configured on creation" end raise NoGatewayConfiguredError, msg end
remove_force_fake()
click to toggle source
# File lib/artirix_data_models/daos/basic_model_dao.rb, line 134 def remove_force_fake @_forced_fake_enabled = nil end