Module: Saasable::Mongoid::ScopedDocument
- Defined in:
- lib/saasable/mongoid/scoped_document.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/saasable/mongoid/scoped_document.rb', line 4 def self.included(klass) klass.extend ClassMethods klass.class_eval do # Fields field :saas_id, type: BSON::ObjectId, default: -> { Saasable::Mongoid::SaasDocument.active_saas._id } # Default scope default_scope do if Saasable::Mongoid::SaasDocument.active_saas where(saas_id: Saasable::Mongoid::SaasDocument.active_saas._id) else all end end # Indexes index(saas_id: 1) index({saas_id: 1, _id: 1}, unique: true) class << self alias_method :index_without_saasable, :index alias_method :index, :index_with_saasable end end end |
Instance Method Details
#saas ⇒ Object
34 35 36 |
# File 'lib/saasable/mongoid/scoped_document.rb', line 34 def saas @saas ||= Saasable::Mongoid::SaasDocument.saas_document.find(saas_id) if saas_id end |
#saas=(a_saas) ⇒ Object
30 31 32 |
# File 'lib/saasable/mongoid/scoped_document.rb', line 30 def saas=(a_saas) self.saas_id = a_saas._id end |