Class: Asana::Resources::TagsBase
- Defined in:
- lib/asana/resources/gen/tags_base.rb
Direct Known Subclasses
Class Method Summary collapse
-
.create_tag(client, options: {}, **data) ⇒ Object
options - [Hash] the request I/O options > opt_fields - [list] Defines fields to return.
-
.create_tag_for_workspace(client, workspace_gid: required("workspace_gid"), options: {}, **data) ⇒ Object
Create a tag in a workspace.
-
.get_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Get a tag.
-
.get_tags(client, workspace: nil, archived: nil, options: {}) ⇒ Object
workspace - [str] The workspace to filter tags on.
-
.get_tags_for_task(client, task_gid: required("task_gid"), options: {}) ⇒ Object
Get a task’s tags.
-
.get_tags_for_workspace(client, workspace_gid: required("workspace_gid"), options: {}) ⇒ Object
Get tags in a workspace.
- .inherited(base) ⇒ Object
-
.update_tag(client, tag_gid: required("tag_gid"), options: {}, **data) ⇒ Object
Update a tag.
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
Class Method Details
.create_tag(client, options: {}, **data) ⇒ Object
options - [Hash] the request I/O options > opt_fields - [list] Defines fields to return. Some requests return compact representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
22 23 24 25 |
# File 'lib/asana/resources/gen/tags_base.rb', line 22 def create_tag(client, options: {}, **data) path = "/tags" Tag.new(parse(client.post(path, body: data, options: )).first, client: client) end |
.create_tag_for_workspace(client, workspace_gid: required("workspace_gid"), options: {}, **data) ⇒ Object
Create a tag in a workspace
34 35 36 37 38 |
# File 'lib/asana/resources/gen/tags_base.rb', line 34 def create_tag_for_workspace(client, workspace_gid: required("workspace_gid"), options: {}, **data) path = "/workspaces/{workspace_gid}/tags" path["{workspace_gid}"] = workspace_gid Tag.new(parse(client.post(path, body: data, options: )).first, client: client) end |
.get_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Get a tag
48 49 50 51 52 |
# File 'lib/asana/resources/gen/tags_base.rb', line 48 def get_tag(client, tag_gid: required("tag_gid"), options: {}) path = "/tags/{tag_gid}" path["{tag_gid}"] = tag_gid Tag.new(parse(client.get(path, options: )).first, client: client) end |
.get_tags(client, workspace: nil, archived: nil, options: {}) ⇒ Object
workspace - [str] The workspace to filter tags on.
64 65 66 67 68 |
# File 'lib/asana/resources/gen/tags_base.rb', line 64 def (client, workspace: nil, archived: nil, options: {}) path = "/tags" params = { workspace: workspace, archived: archived }.reject { |_,v| v.nil? || Array(v).empty? } Collection.new(parse(client.get(path, params: params, options: )), type: Tag, client: client) end |
.get_tags_for_task(client, task_gid: required("task_gid"), options: {}) ⇒ Object
Get a task’s tags
78 79 80 81 82 |
# File 'lib/asana/resources/gen/tags_base.rb', line 78 def (client, task_gid: required("task_gid"), options: {}) path = "/tasks/{task_gid}/tags" path["{task_gid}"] = task_gid Collection.new(parse(client.get(path, options: )), type: Tag, client: client) end |
.get_tags_for_workspace(client, workspace_gid: required("workspace_gid"), options: {}) ⇒ Object
Get tags in a workspace
92 93 94 95 96 |
# File 'lib/asana/resources/gen/tags_base.rb', line 92 def (client, workspace_gid: required("workspace_gid"), options: {}) path = "/workspaces/{workspace_gid}/tags" path["{workspace_gid}"] = workspace_gid Collection.new(parse(client.get(path, options: )), type: Tag, client: client) end |
.inherited(base) ⇒ Object
10 11 12 |
# File 'lib/asana/resources/gen/tags_base.rb', line 10 def self.inherited(base) Registry.register(base) end |
.update_tag(client, tag_gid: required("tag_gid"), options: {}, **data) ⇒ Object
Update a tag
107 108 109 110 111 |
# File 'lib/asana/resources/gen/tags_base.rb', line 107 def update_tag(client, tag_gid: required("tag_gid"), options: {}, **data) path = "/tags/{tag_gid}" path["{tag_gid}"] = tag_gid Tag.new(parse(client.put(path, body: data, options: )).first, client: client) end |