Module: Saasable::Mongoid::SaasDocument::ClassMethods
- Defined in:
- lib/saasable/mongoid/saas_document.rb
Instance Method Summary collapse
- #active_saas ⇒ Object
- #after_activate(*method_names) ⇒ Object
- #after_deactivate(*method_names) ⇒ Object
- #deactivate_all! ⇒ Object
- #find_by_host!(a_host) ⇒ Object
- #remove_after_activate(*method_names) ⇒ Object
- #remove_after_deactivate(*method_names) ⇒ Object
Instance Method Details
#active_saas ⇒ Object
70 71 72 |
# File 'lib/saasable/mongoid/saas_document.rb', line 70 def active_saas Thread.current[:saasable_active_saas] end |
#after_activate(*method_names) ⇒ Object
74 75 76 |
# File 'lib/saasable/mongoid/saas_document.rb', line 74 def after_activate(*method_names) @_after_activate_chain += method_names end |
#after_deactivate(*method_names) ⇒ Object
78 79 80 |
# File 'lib/saasable/mongoid/saas_document.rb', line 78 def after_deactivate(*method_names) @_after_deactivate_chain += method_names end |
#deactivate_all! ⇒ Object
50 51 52 53 54 |
# 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) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 |
# 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) ⇒ Object
82 83 84 |
# 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) ⇒ Object
86 87 88 |
# File 'lib/saasable/mongoid/saas_document.rb', line 86 def remove_after_deactivate(*method_names) @_after_deactivate_chain -= method_names end |