22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/stbaldricks/endpoints/photo.rb', line 22
def update(id = nil, entity_or_hash = nil, with = {})
if entity_or_hash.is_a?(SBF::Client::BaseEntity)
data = entity_or_hash.dirty_data
data.merge!(id: id) unless id.nil?
data.merge!(id: entity_or_hash.id) if id.nil? && !entity_or_hash.id.nil?
elsif entity_or_hash.is_a?(Hash)
data = sanitize(entity_or_hash)
else
raise SBF::Client::Error, 'Invalid Data'
end
filename = data.delete(:filename)
file = data.delete(:file)
with = normalize_with(with)
data[:with] = with
response = if file
SBF::Client::Api::Request.file_post_request(path: "#{base_uri}/update", params: data, file: file, filename: filename)
else
SBF::Client::Api::Request.post_request("#{base_uri}/update", data)
end
hydrated_entity(response, data, entity_or_hash)
end
|