class Asana::Resources::ProjectMembership

With the introduction of “comment-only” projects in Asana, a user's membership in a project comes with associated permissions. These permissions (whether a user has full access to the project or comment-only access) are accessible through the project memberships endpoints described here.

Attributes

gid[R]
project[R]
resource_type[R]
user[R]
write_access[R]

Public Class Methods

find_by_id(client, id, options: {}) click to toggle source

Returns the project membership record.

id - [Gid] Globally unique identifier for the project membership.

options - [Hash] the request I/O options.

# File lib/asana/resources/project_membership.rb, line 45
def find_by_id(client, id, options: {})

  self.new(parse(client.get("/project_memberships/#{id}", options: options)).first, client: client)
end
Also aliased as: get_single
find_by_project(client, project: required("project"), user: nil, per_page: 20, options: {}) click to toggle source

Returns the compact project membership records for the project.

project - [Gid] The project for which to fetch memberships. user - [String] If present, the user to filter the memberships to. per_page - [Integer] the number of records to fetch per page. options - [Hash] the request I/O options.

# File lib/asana/resources/project_membership.rb, line 34
def find_by_project(client, project: required("project"), user: nil, per_page: 20, options: {})
  params = { user: user, limit: per_page }.reject { |_,v| v.nil? || Array(v).empty? }
  Collection.new(parse(client.get("/projects/#{project}/project_memberships", params: params, options: options)), type: Resource, client: client)
end
Also aliased as: get_many
get_many(client, project: required("project"), user: nil, per_page: 20, options: {})
Alias for: find_by_project
get_single(client, id, options: {})
Alias for: find_by_id
plural_name() click to toggle source

Returns the plural name of the resource.

# File lib/asana/resources/project_membership.rb, line 24
def plural_name
  'project_memberships'
end