Module: Essential::Resource::Update

Included in:
Account, Messaging::Channel, Messaging::Property, Messaging::Subscriber
Defined in:
lib/essential/resource/update.rb

Instance Method Summary collapse

Instance Method Details

#update(params, headers: @headers) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/essential/resource/update.rb', line 5

def update(params, headers: @headers)
  params = filter_attrs(params || {})
  params = @params.merge(params) if @params
  params = self.as_json.merge(params)
  params = filter_attrs(params)

  response = self.class.request(
    :put,
    url: self.url,
    params: params,
    headers: headers
  )
  json = JSON.parse(response)
  json = @params.merge(json) if @params
  json = @attrs.merge(json)  if @attrs
  init_from(json)
  self
end