module Dynamoid::IdentityMap::ClassMethods
Public Instance Methods
find_by_id(id, options = {})
click to toggle source
Calls superclass method
# File lib/dynamoid/identity_map.rb, line 30 def find_by_id(id, options = {}) return super if identity_map_off? key = id.to_s if range_key = options[:range_key] key += "::#{range_key}" end if identity_map[key] identity_map[key] else super end end
from_database(attrs = {})
click to toggle source
Calls superclass method
# File lib/dynamoid/identity_map.rb, line 14 def from_database(attrs = {}) return super if identity_map_off? key = identity_map_key(attrs) document = identity_map[key] if document.nil? document = super identity_map[key] = document else document.load(attrs) end document end
identity_map()
click to toggle source
# File lib/dynamoid/identity_map.rb, line 10 def identity_map @identity_map ||= {} end
identity_map_key(attrs)
click to toggle source
# File lib/dynamoid/identity_map.rb, line 46 def identity_map_key(attrs) key = attrs[hash_key].to_s if range_key key += "::#{attrs[range_key]}" end key end
identity_map_off?()
click to toggle source
# File lib/dynamoid/identity_map.rb, line 58 def identity_map_off? !identity_map_on? end
identity_map_on?()
click to toggle source
# File lib/dynamoid/identity_map.rb, line 54 def identity_map_on? Dynamoid::Config.identity_map end