Class: Datamappify::Repository::QueryMethod::Save
- Inherits:
-
Method
- Object
- Method
- Datamappify::Repository::QueryMethod::Save
show all
- Defined in:
- lib/datamappify/repository/query_method/save.rb
Instance Attribute Summary
Attributes inherited from Method
#data_mapper, #states
Instance Method Summary
collapse
Methods inherited from Method
#attributes_walker, #dispatch_criteria_to_default_source, #dispatch_criteria_to_providers, #initialize, #reader?, #source_attributes_walker
Instance Method Details
#create_or_update(entity) ⇒ Entity
33
34
35
36
37
38
39
|
# File 'lib/datamappify/repository/query_method/save.rb', line 33
def create_or_update(entity)
raise Data::EntityInvalid.new(entity) if entity.invalid?
dispatch_criteria_to_providers(:SaveByKey, entity)
entity
end
|
#dirty_aware? ⇒ Boolean
17
18
19
|
# File 'lib/datamappify/repository/query_method/save.rb', line 17
def dirty_aware?
true
end
|
6
7
8
9
10
11
12
13
14
|
# File 'lib/datamappify/repository/query_method/save.rb', line 6
def perform
states.update(@entity) do
create_or_update(@entity)
end
@entity
rescue Data::EntityInvalid
false
end
|
#writer? ⇒ Boolean
22
23
24
|
# File 'lib/datamappify/repository/query_method/save.rb', line 22
def writer?
true
end
|