Class: JsonApiClient::Resource
- Inherits:
-
Object
- Object
- JsonApiClient::Resource
show all
- Defined in:
- lib/patches/json_api_client/resource.rb
Instance Method Summary
collapse
Instance Method Details
#save ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/patches/json_api_client/resource.rb', line 6
def save
return false unless valid?
self.last_result_set = if persisted?
self.class.requestor.update(self)
else
self.class.requestor.create(self)
end
if last_result_set.has_errors?
last_result_set.errors.each do |error|
if error.source_parameter
errors.add(error.source_parameter, error.title || error.detail)
else
errors.add(:base, error.title || error.detail)
end
end
false
else
self.errors.clear if self.errors
mark_as_persisted!
if updated = last_result_set.first
self.attributes = updated.attributes
self.links.attributes = updated.links.attributes
self.relationships.attributes = updated.relationships.attributes
clear_changes_information
self.relationships.clear_changes_information
end
true
end
end
|