Module: Resteze::Save

Extended by:
ActiveSupport::Concern
Defined in:
lib/resteze/save.rb

Instance Method Summary collapse

Instance Method Details

#as_save_jsonObject



23
24
25
# File 'lib/resteze/save.rb', line 23

def as_save_json
  as_json
end

#process_save_response(response) ⇒ Object



31
32
33
# File 'lib/resteze/save.rb', line 31

def process_save_response(response)
  merge_from(response.data)
end

#saveObject



5
6
7
8
9
10
11
12
13
# File 'lib/resteze/save.rb', line 5

def save
  resp = request(
    save_method,
    save_resource_path,
    params: as_save_json,
    headers: save_headers
  )
  process_save_response(resp)
end

#save_headersObject



27
28
29
# File 'lib/resteze/save.rb', line 27

def save_headers
  respond_to?(:retrieve_headers) ? retrieve_headers : {}
end

#save_methodObject



15
16
17
# File 'lib/resteze/save.rb', line 15

def save_method
  persisted? ? :put : :post
end

#save_resource_pathObject



19
20
21
# File 'lib/resteze/save.rb', line 19

def save_resource_path
  persisted? ? resource_path : self.class.resource_path
end