Class: Asana::Resources::ProjectMembership
- Defined in:
- lib/asana/resources/project_membership.rb
Overview
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.
Instance Attribute Summary collapse
- #gid ⇒ Object readonly
- #id ⇒ Object readonly
- #project ⇒ Object readonly
- #resource_type ⇒ Object readonly
- #user ⇒ Object readonly
- #write_access ⇒ Object readonly
Class Method Summary collapse
-
.find_by_id(client, id, options: {}) ⇒ Object
(also: get_single)
Returns the project membership record.
-
.find_by_project(client, project: required("project"), user: nil, per_page: 20, options: {}) ⇒ Object
(also: get_many)
Returns the compact project membership records for the project.
-
.plural_name ⇒ Object
Returns the plural name of the resource.
Methods inherited from Resource
inherited, #initialize, #method_missing, #refresh, #respond_to_missing?, #to_h, #to_s
Methods included from ResponseHelper
Constructor Details
This class inherits a constructor from Asana::Resources::Resource
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Asana::Resources::Resource
Instance Attribute Details
#gid ⇒ Object (readonly)
15 16 17 |
# File 'lib/asana/resources/project_membership.rb', line 15 def gid @gid end |
#id ⇒ Object (readonly)
13 14 15 |
# File 'lib/asana/resources/project_membership.rb', line 13 def id @id end |
#project ⇒ Object (readonly)
21 22 23 |
# File 'lib/asana/resources/project_membership.rb', line 21 def project @project end |
#resource_type ⇒ Object (readonly)
17 18 19 |
# File 'lib/asana/resources/project_membership.rb', line 17 def resource_type @resource_type end |
#user ⇒ Object (readonly)
19 20 21 |
# File 'lib/asana/resources/project_membership.rb', line 19 def user @user end |
#write_access ⇒ Object (readonly)
23 24 25 |
# File 'lib/asana/resources/project_membership.rb', line 23 def write_access @write_access end |
Class Method Details
.find_by_id(client, id, options: {}) ⇒ Object Also known as: get_single
Returns the project membership record.
48 49 50 51 |
# File 'lib/asana/resources/project_membership.rb', line 48 def find_by_id(client, id, options: {}) self.new(parse(client.get("/project_memberships/#{id}", options: )).first, client: client) end |
.find_by_project(client, project: required("project"), user: nil, per_page: 20, options: {}) ⇒ Object Also known as: get_many
Returns the compact project membership records for the project.
37 38 39 40 |
# File 'lib/asana/resources/project_membership.rb', line 37 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: )), type: Resource, client: client) end |
.plural_name ⇒ Object
Returns the plural name of the resource.
27 28 29 |
# File 'lib/asana/resources/project_membership.rb', line 27 def plural_name 'project_memberships' end |