module ArtirixDataModels::Model::WithDAO
Attributes
dao[W]
private setter => it can be given on object creation as a named argument, or in ‘_set_properties` method
Public Class Methods
new(dao_registry: nil, dao_registry_loader: nil, **properties)
click to toggle source
# File lib/artirix_data_models/model.rb, line 331 def initialize(dao_registry: nil, dao_registry_loader: nil, **properties) set_dao_registry_and_loader dao_registry_loader, dao_registry _set_properties properties end
Public Instance Methods
dao()
click to toggle source
# File lib/artirix_data_models/model.rb, line 340 def dao @dao ||= load_dao end
model_dao_name()
click to toggle source
# File lib/artirix_data_models/model.rb, line 336 def model_dao_name dao.model_name end
Private Instance Methods
load_dao()
click to toggle source
# File lib/artirix_data_models/model.rb, line 349 def load_dao key = self.class.dao_name raise UndefinedDAOError, "`dao_name` not defined for #{self.class}" unless key.present? dao_registry.get(key) end