Class: CiscoSpark::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/base.rb

Direct Known Subclasses

Membership, Message, Person, Room, Team, TeamMembership, Webhook

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Base

Returns a new instance of Base.



5
6
7
# File 'lib/base.rb', line 5

def initialize(data)
  refresh(data)
end

Instance Method Details

#[](key) ⇒ Object



30
31
32
33
# File 'lib/base.rb', line 30

def [](key)
  return nil unless respond_to?(key)
  public_send(key)
end

#deleteObject



25
26
27
28
# File 'lib/base.rb', line 25

def delete
  res = CiscoSpark.rest('DELETE', "/#{@api_endpoint}/#{@id}")
  res.ok
end

#refresh(data) ⇒ Object



21
22
23
# File 'lib/base.rb', line 21

def refresh(data)
  data.each { |k, v| public_send("#{k}=", v) }
end

#update(data = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/base.rb', line 9

def update(data = {})
  data.each { |k, v| public_send("#{k}=", v) }
  payload = {}
  @update_fields.each { |k| payload[k] = self[k] }
  res = CiscoSpark.rest('PUT', "/#{@api_endpoint}/#{@id}", payload: payload)
  if res.ok
    refresh(JSON.parse(res.body))
    return true
  end
  false
end