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
- #gid ⇒ Object readonly
- #name ⇒ Object readonly
- #photo ⇒ Object readonly
- #resource_type ⇒ 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.
Instance Method Summary collapse
-
#get_user_favorites(workspace: required("workspace"), resource_type: required("resource_type"), options: {}) ⇒ Object
Returns all of a user’s favorites in the given workspace, of the given type.
Methods inherited from UsersBase
get_favorites_for_user, get_user, get_users, get_users_for_team, get_users_for_workspace, inherited
Methods inherited from Resource
#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)
20 21 22 |
# File 'lib/asana/resources/user.rb', line 20 def email @email end |
#gid ⇒ Object (readonly)
14 15 16 |
# File 'lib/asana/resources/user.rb', line 14 def gid @gid end |
#name ⇒ Object (readonly)
18 19 20 |
# File 'lib/asana/resources/user.rb', line 18 def name @name end |
#photo ⇒ Object (readonly)
22 23 24 |
# File 'lib/asana/resources/user.rb', line 22 def photo @photo end |
#resource_type ⇒ Object (readonly)
16 17 18 |
# File 'lib/asana/resources/user.rb', line 16 def resource_type @resource_type end |
#workspaces ⇒ Object (readonly)
24 25 26 |
# File 'lib/asana/resources/user.rb', line 24 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.
70 71 72 73 |
# File 'lib/asana/resources/user.rb', line 70 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.
47 48 49 50 |
# File 'lib/asana/resources/user.rb', line 47 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.
58 59 60 61 |
# File 'lib/asana/resources/user.rb', line 58 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.
35 36 37 38 |
# File 'lib/asana/resources/user.rb', line 35 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.
28 29 30 |
# File 'lib/asana/resources/user.rb', line 28 def plural_name 'users' end |
Instance Method Details
#get_user_favorites(workspace: required("workspace"), resource_type: required("resource_type"), options: {}) ⇒ Object
Returns all of a user’s favorites in the given workspace, of the given type. Results are given in order (The same order as Asana’s sidebar).
82 83 84 85 |
# File 'lib/asana/resources/user.rb', line 82 def get_user_favorites(workspace: required("workspace"), resource_type: required("resource_type"), options: {}) params = { workspace: workspace, resource_type: resource_type }.reject { |_,v| v.nil? || Array(v).empty? } Collection.new(parse(client.get("/users/#{gid}/favorites", params: params, options: )), type: Resource, client: client) end |