class Podio::SpaceMember

Encapsulates a user’s membership of a space. @see developers.podio.com/doc/space-members

Public Class Methods

accept_membership_request(space_id, space_member_request_id) click to toggle source

@see developers.podio.com/doc/space-members/accept-space-membership-request-6146271

# File lib/podio/models/space_member.rb, line 97
def accept_membership_request(space_id, space_member_request_id)
  Podio.connection.post("/space/#{space_id}/member_request/#{space_member_request_id}/accept").status
end
end_membership(space_id, user_id) click to toggle source

@see developers.podio.com/doc/space-members/end-space-memberships-22399

# File lib/podio/models/space_member.rb, line 69
def end_membership(space_id, user_id)
  Podio.connection.delete("/space/#{space_id}/member/#{user_id}").status
end
find_all(space_id, options = {}) click to toggle source

@see developers.podio.com/doc/space-members/get-active-members-of-space-22395

# File lib/podio/models/space_member.rb, line 50
def find_all(space_id, options = {})
  list Podio.connection.get("/space/#{space_id}/member/", options).body
end
find_all_ended(space_id) click to toggle source
# File lib/podio/models/space_member.rb, line 43
def find_all_ended(space_id)
  list Podio.connection.get { |req|
    req.url("/space/#{space_id}/member/ended/")
  }.body
end
find_all_for_role(space_id, role) click to toggle source

@see developers.podio.com/doc/space-members/get-space-members-by-role-68043

# File lib/podio/models/space_member.rb, line 29
def find_all_for_role(space_id, role)
  list Podio.connection.get { |req|
    req.url("/space/#{space_id}/member/#{role}/")
  }.body
end
find_all_for_space(space_id, options = {}) click to toggle source

@see developers.podio.com/doc/space-members/get-space-members-v2-19350328

# File lib/podio/models/space_member.rb, line 55
def find_all_for_space(space_id, options = {})
  list Podio.connection.get("/space/#{space_id}/member/v2/", options).body
end
find_membership(space_id, user_id) click to toggle source

@see developers.podio.com/doc/space-members/get-space-membership-22397

# File lib/podio/models/space_member.rb, line 36
def find_membership(space_id, user_id)
  response = Podio.connection.get { |req|
    req.url("/space/#{space_id}/member/#{user_id}/v2")
  }
  member response.body
end
find_memberships_for_user_in_org(org_id, user_id) click to toggle source
# File lib/podio/models/space_member.rb, line 87
def find_memberships_for_user_in_org(org_id, user_id)
  list Podio.connection.get("/org/#{org_id}/member/#{user_id}/space_member/").body
end
find_top_active(space_id, options = {}) click to toggle source
# File lib/podio/models/space_member.rb, line 82
def find_top_active(space_id, options = {})
  response = Podio.connection.get("/space/#{space_id}/member/top_active/", options)
  response.body.map { |profile| Contact.new(profile) }
end
find_top_contacts(space_id, options = {}) click to toggle source

@see developers.podio.com/doc/space-members/get-top-users-on-space-22461

# File lib/podio/models/space_member.rb, line 74
def find_top_contacts(space_id, options = {})
  result = Podio.connection.get("/space/#{space_id}/member/top/", options).body
  %w(employee external).each do |section|
    result[section]['profiles'].map! { |profile| Contact.new(profile) } if result[section].present? && result[section]['profiles'].present?
  end
  result
end
get_members_count(space_id) click to toggle source
# File lib/podio/models/space_member.rb, line 101
def get_members_count(space_id)
  Podio.connection.get("/space/#{space_id}/member/total").body
end
request_membership(space_id) click to toggle source

@see developers.podio.com/doc/space-members/request-space-membership-6146231

# File lib/podio/models/space_member.rb, line 92
def request_membership(space_id)
  Podio.connection.post("/space/#{space_id}/member_request/").status
end
update_role(space_id, user_id, role) click to toggle source

@see developers.podio.com/doc/space-members/update-space-memberships-22398

# File lib/podio/models/space_member.rb, line 60
def update_role(space_id, user_id, role)
  response = Podio.connection.put do |req|
    req.url "/space/#{space_id}/member/#{user_id}"
    req.body = { :role => role.to_s }
  end
  response.status
end

Public Instance Methods

employee?() click to toggle source
# File lib/podio/models/space_member.rb, line 19
def employee?
  employee
end
external?() click to toggle source
# File lib/podio/models/space_member.rb, line 23
def external?
  !employee
end