Module: Leases::Model::ClassMethods

Defined in:
lib/leases/model.rb

Instance Method Summary collapse

Instance Method Details

#leases(options = {}) ⇒ Object

Marks model as a leaser.

Examples

leases leases :name => :slug leases :name => Proc.new { |c| “acount_#Leases::Model::ClassMethods.cc.id” }



20
21
22
23
24
25
26
27
28
# File 'lib/leases/model.rb', line 20

def leases(options={})
  include Base
  include Callbacks

  shared_by_leasers

  Leases.leasing(self)
  self.leases_options = options
end

#shared_by_leasersObject

Marks model as a shared model. This prevents the model being multi-tenant.

Example

class User < ActiveRecord::Base

shared_by_leasers

end



40
41
42
43
44
45
46
# File 'lib/leases/model.rb', line 40

def shared_by_leasers
  Apartment.excluded_models ||= []
  Apartment.excluded_models += [self.name]
  Apartment.excluded_models.uniq!

  Apartment::Tenant.init unless ARGV.any? { |arg| arg =~ /\Aassets:(?:precompile|clean)\z/ }
end