Module: Dynamoid::IdentityMap
- Extended by:
- ActiveSupport::Concern
- Included in:
- Components
- Defined in:
- lib/dynamoid/identity_map.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.clear ⇒ Object
5 6 7 |
# File 'lib/dynamoid/identity_map.rb', line 5 def self.clear Dynamoid.included_models.each { |m| m.identity_map.clear } end |
Instance Method Details
#delete ⇒ Object
76 77 78 79 80 81 |
# File 'lib/dynamoid/identity_map.rb', line 76 def delete return super if self.class.identity_map_off? identity_map.delete(identity_map_key) super end |
#identity_map ⇒ Object
63 64 65 |
# File 'lib/dynamoid/identity_map.rb', line 63 def identity_map self.class.identity_map end |
#identity_map_key ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/dynamoid/identity_map.rb', line 84 def identity_map_key key = hash_key.to_s if self.class.range_key key += "::#{range_value}" end key end |
#save(*args) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/dynamoid/identity_map.rb', line 67 def save(*args) return super if self.class.identity_map_off? if result = super identity_map[identity_map_key] = self end result end |