module Saasable::Mongoid::SaasDocument::ClassMethods

Public Instance Methods

active_saas() click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 70
def active_saas
  Thread.current[:saasable_active_saas]
end
after_activate(*method_names) click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 74
def after_activate(*method_names)
  @_after_activate_chain += method_names
end
after_deactivate(*method_names) click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 78
def after_deactivate(*method_names)
  @_after_deactivate_chain += method_names
end
deactivate_all!() click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 50
def deactivate_all!
  last_active_saas = active_saas
  Thread.current[:saasable_active_saas] = nil
  @_after_deactivate_chain.each { |method_name| last_active_saas.send(method_name) }
end
find_by_host!(a_host) click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 56
def find_by_host!(a_host)
  if Saasable::Mongoid::SaasDocument.saas_document.nil?
    raise Saasable::Errors::NoSaasDocuments, 'you need to set one Saasable::SaasDocument'
  end

  possible_saas = Saasable::Mongoid::SaasDocument.saas_document.where(hosts: a_host).first
  if possible_saas.nil?
    raise Saasable::Errors::SaasNotFound,
      "no #{Saasable::Mongoid::SaasDocument.saas_document.name} found for the host: \"#{a_host}\""
  end

  possible_saas
end
remove_after_activate(*method_names) click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 82
def remove_after_activate(*method_names)
  @_after_activate_chain -= method_names
end
remove_after_deactivate(*method_names) click to toggle source
# File lib/saasable/mongoid/saas_document.rb, line 86
def remove_after_deactivate(*method_names)
  @_after_deactivate_chain -= method_names
end