Class: SequelMapper::DirtyMap

Inherits:
Object
  • Object
show all
Defined in:
lib/sequel_mapper/dirty_map.rb

Instance Method Summary collapse

Constructor Details

#initialize(storage) ⇒ DirtyMap

Returns a new instance of DirtyMap.



3
4
5
# File 'lib/sequel_mapper/dirty_map.rb', line 3

def initialize(storage)
  @storage = storage
end

Instance Method Details

#dirty?(record) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
19
# File 'lib/sequel_mapper/dirty_map.rb', line 15

def dirty?(record)
  record_as_loaded = storage.fetch(hash_key(record), :not_found)

  record != record_as_loaded
end

#load(record) ⇒ Object



10
11
12
13
# File 'lib/sequel_mapper/dirty_map.rb', line 10

def load(record)
  storage.store(hash_key(record), deep_clone(record))
  record
end