module Cell::Ext::ActiveRecord
Attributes
tenant[R]
Public Class Methods
prepended(cls)
click to toggle source
# File lib/cell/ext/active_record.rb, line 65 def self.prepended(cls) class << cls prepend ClassMethods end cls.after_initialize :_assign_tenant cls.around_save :_activate_tenant end
Public Instance Methods
_activate_tenant() { || ... }
click to toggle source
# File lib/cell/ext/active_record.rb, line 49 def _activate_tenant(&block) if tenant && tenant != Model.current tenant.use(&block) else yield end end
_assign_tenant()
click to toggle source
# File lib/cell/ext/active_record.rb, line 43 def _assign_tenant unless self.class.global_model? @tenant = Model.current end end
run_validations!()
click to toggle source
undocumented, but makes sure validations are ran in the context of the object's tenant, e.g., uniqueness.
Calls superclass method
# File lib/cell/ext/active_record.rb, line 59 def run_validations! _activate_tenant do super end end