Module: StoresInMongo::DocumentMethods
- Defined in:
- lib/stores_in_mongo/document_methods.rb
Instance Method Summary collapse
- #changed? ⇒ Boolean
- #deep_dup(*args) ⇒ Object
- #mongo_class ⇒ Object
- #mongo_class_column ⇒ Object
- #mongo_class_name ⇒ Object
- #mongo_key ⇒ Object
- #mongo_key_column ⇒ Object
- #reload(*args) ⇒ Object
Instance Method Details
#changed? ⇒ Boolean
42 43 44 |
# File 'lib/stores_in_mongo/document_methods.rb', line 42 def changed? @mongo_dirty || super end |
#deep_dup(*args) ⇒ Object
36 37 38 39 40 |
# File 'lib/stores_in_mongo/document_methods.rb', line 36 def deep_dup(*args) copy = super copy.mongo_document = mongo_document.deep_dup return copy end |
#mongo_class ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/stores_in_mongo/document_methods.rb', line 11 def mongo_class if self.[:use_sessions] mongo_class_name.constantize.with(session: mongo_session) else mongo_class_name.constantize end end |
#mongo_class_column ⇒ Object
23 24 25 |
# File 'lib/stores_in_mongo/document_methods.rb', line 23 def mongo_class_column self.[:polymorphic] && self.[:class_name] end |
#mongo_class_name ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/stores_in_mongo/document_methods.rb', line 3 def mongo_class_name if self.[:polymorphic] self.public_send(mongo_class_column) or raise RuntimeError, "No mongo type specified in #{mongo_class_column} for #{self}! Initialize your model with a value or use a column default." else self.[:class_name] end end |
#mongo_key ⇒ Object
19 20 21 |
# File 'lib/stores_in_mongo/document_methods.rb', line 19 def mongo_key self.public_send(mongo_key_column) end |
#mongo_key_column ⇒ Object
27 28 29 |
# File 'lib/stores_in_mongo/document_methods.rb', line 27 def mongo_key_column [:foreign_key] end |
#reload(*args) ⇒ Object
31 32 33 34 |
# File 'lib/stores_in_mongo/document_methods.rb', line 31 def reload(*args) clear_mongo_cache super end |