Class: DataMapper::Resource::PersistenceState::Dirty
- Inherits:
-
Persisted
show all
- Defined in:
- lib/dm-core/resource/persistence_state/dirty.rb
Overview
a persisted/dirty resource
Instance Attribute Summary
#model, #resource
Instance Method Summary
collapse
Methods inherited from Persisted
#get
#get, #initialize
Methods included from Equalizer
#equalize
Instance Method Details
#commit ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/dm-core/resource/persistence_state/dirty.rb', line 17
def commit
remove_from_identity_map
set_child_keys
assert_valid_attributes
update_resource
reset_original_attributes
reset_resource_key
Clean.new(resource)
ensure
add_to_identity_map
end
|
#delete ⇒ Object
12
13
14
15
|
# File 'lib/dm-core/resource/persistence_state/dirty.rb', line 12
def delete
reset_resource
Deleted.new(resource)
end
|
#original_attributes ⇒ Object
34
35
36
|
# File 'lib/dm-core/resource/persistence_state/dirty.rb', line 34
def original_attributes
@original_attributes ||= {}
end
|
#rollback ⇒ Object
29
30
31
32
|
# File 'lib/dm-core/resource/persistence_state/dirty.rb', line 29
def rollback
reset_resource
Clean.new(resource)
end
|
#set(subject, value) ⇒ Object
6
7
8
9
10
|
# File 'lib/dm-core/resource/persistence_state/dirty.rb', line 6
def set(subject, value)
track(subject, value)
super
original_attributes.empty? ? Clean.new(resource) : self
end
|