class Babili::Platform::Membership

Public Class Methods

create(params = {}) click to toggle source
# 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
path() click to toggle source
# File lib/babili/platform/membership.rb, line 5
def self.path
  "platform/rooms/:room_id/users/:user_id/membership"
end

Public Instance Methods

delete() click to toggle source
# 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