Class: Babili::Platform::Membership

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/babili/platform/membership.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(params = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/babili/platform/membership.rb', line 18

def self.create(params = {})
  room_id     = params.delete(:room_id)
  user_id     = params.delete(:user_id)
  create_path = path.gsub(":room_id", room_id).gsub(":user_id", user_id)
  params      = {
    attributes: {
      open: params[:open] || params["open"]
    }
  }
  raw_membership     = Babili::Client.post(create_path, params)["data"]
  membership         = new(raw_membership["attributes"])
  membership.room_id = raw_membership["relationships"]["room"]["data"]["id"]
  membership.user_id = raw_membership["relationships"]["user"]["data"]["id"]
  membership
end

.pathObject



5
6
7
# File 'lib/babili/platform/membership.rb', line 5

def self.path
  "platform/rooms/:room_id/users/:user_id/membership"
end

Instance Method Details

#deleteObject



9
10
11
12
13
14
15
16
# File 'lib/babili/platform/membership.rb', line 9

def delete
  delete_path        = self.class.path.gsub(":room_id", room_id).gsub(":user_id", user_id)
  raw_membership     = Babili::Client.delete(delete_path, params)["data"]
  membership         = self.class.new(raw_membership["attributes"])
  membership.room_id = raw_membership["relationships"]["room"]["data"]["id"]
  membership.user_id = raw_membership["relationships"]["user"]["data"]["id"]
  membership
end