Class: Asana::Resources::User
- Defined in:
- lib/asana/resources/user.rb
Overview
A user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
Like other objects in the system, users are referred to by numerical IDs. However, the special string identifier ‘me` can be used anywhere a user ID is accepted, to refer to the current authenticated user.
Instance Attribute Summary collapse
- #email ⇒ Object readonly
- #id ⇒ Object readonly
- #name ⇒ Object readonly
- #photo ⇒ Object readonly
- #workspaces ⇒ Object readonly
Class Method Summary collapse
-
.find_all(client, workspace: nil, per_page: 20, options: {}) ⇒ Object
Returns the user records for all users in all workspaces and organizations accessible to the authenticated user.
-
.find_by_id(client, id, options: {}) ⇒ Object
Returns the full user record for the single user with the provided ID.
-
.find_by_workspace(client, workspace: required("workspace"), per_page: 20, options: {}) ⇒ Object
Returns the user records for all users in the specified workspace or organization.
-
.me(client, options: {}) ⇒ Object
Returns the full user record for the currently authenticated user.
-
.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
#email ⇒ Object (readonly)
19 20 21 |
# File 'lib/asana/resources/user.rb', line 19 def email @email end |
#id ⇒ Object (readonly)
15 16 17 |
# File 'lib/asana/resources/user.rb', line 15 def id @id end |
#name ⇒ Object (readonly)
17 18 19 |
# File 'lib/asana/resources/user.rb', line 17 def name @name end |
#photo ⇒ Object (readonly)
21 22 23 |
# File 'lib/asana/resources/user.rb', line 21 def photo @photo end |
#workspaces ⇒ Object (readonly)
23 24 25 |
# File 'lib/asana/resources/user.rb', line 23 def workspaces @workspaces end |
Class Method Details
.find_all(client, workspace: nil, per_page: 20, options: {}) ⇒ Object
Returns the user records for all users in all workspaces and organizations accessible to the authenticated user. Accepts an optional workspace ID parameter.
69 70 71 72 |
# File 'lib/asana/resources/user.rb', line 69 def find_all(client, workspace: nil, per_page: 20, options: {}) params = { workspace: workspace, limit: per_page }.reject { |_,v| v.nil? || Array(v).empty? } Collection.new(parse(client.get("/users", params: params, options: )), type: self, client: client) end |
.find_by_id(client, id, options: {}) ⇒ Object
Returns the full user record for the single user with the provided ID.
46 47 48 49 |
# File 'lib/asana/resources/user.rb', line 46 def find_by_id(client, id, options: {}) self.new(parse(client.get("/users/#{id}", options: )).first, client: client) end |
.find_by_workspace(client, workspace: required("workspace"), per_page: 20, options: {}) ⇒ Object
Returns the user records for all users in the specified workspace or organization.
57 58 59 60 |
# File 'lib/asana/resources/user.rb', line 57 def find_by_workspace(client, workspace: required("workspace"), per_page: 20, options: {}) params = { limit: per_page }.reject { |_,v| v.nil? || Array(v).empty? } Collection.new(parse(client.get("/workspaces/#{workspace}/users", params: params, options: )), type: self, client: client) end |
.me(client, options: {}) ⇒ Object
Returns the full user record for the currently authenticated user.
34 35 36 37 |
# File 'lib/asana/resources/user.rb', line 34 def me(client, options: {}) Resource.new(parse(client.get("/users/me", options: )).first, client: client) end |
.plural_name ⇒ Object
Returns the plural name of the resource.
27 28 29 |
# File 'lib/asana/resources/user.rb', line 27 def plural_name 'users' end |