Module: Mongoid::Silo
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/mongoid/silo.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #destroy_silo(name, callback) ⇒ Object
- #from_silo(name = "default") ⇒ Object
- #json_from_silo ⇒ Object
- #update_silo(name, generator, callback) ⇒ Object
Instance Method Details
#destroy_silo(name, callback) ⇒ Object
76 77 78 |
# File 'lib/mongoid/silo.rb', line 76 def destroy_silo name, callback MongoidSilo::UpdateSiloWorker.perform_async(self.id.to_s, self.class.to_s, name, :destroy, callback) end |
#from_silo(name = "default") ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/mongoid/silo.rb', line 80 def from_silo name="default" if @bag && @bag[name] @bag[name] else @bag = {} @bag[name] ||= begin silo = ::Silo.where(item_class: self.class.to_s, item_id: self.id.to_s, silo_type: name).first silo.bag rescue Mongoid::Errors::DocumentNotFound {} end end end |
#json_from_silo ⇒ Object
94 95 96 |
# File 'lib/mongoid/silo.rb', line 94 def json_from_silo MultiJson.encode from_silo end |
#update_silo(name, generator, callback) ⇒ Object
72 73 74 |
# File 'lib/mongoid/silo.rb', line 72 def update_silo name, generator, callback MongoidSilo::UpdateSiloWorker.perform_async(self.id.to_s, self.class.to_s, name, :save, generator, callback) end |