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.
-
.delete_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Delete a tag.
-
.get_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Get a tag.
-
.get_tags(client, workspace: 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 |
.delete_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Delete a tag
48 49 50 51 52 |
# File 'lib/asana/resources/gen/tags_base.rb', line 48 def delete_tag(client, tag_gid: required("tag_gid"), options: {}) path = "/tags/{tag_gid}" path["{tag_gid}"] = tag_gid parse(client.delete(path, options: )).first end |
.get_tag(client, tag_gid: required("tag_gid"), options: {}) ⇒ Object
Get a tag
62 63 64 65 66 |
# File 'lib/asana/resources/gen/tags_base.rb', line 62 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, options: {}) ⇒ Object
workspace - [str] The workspace to filter tags on.
77 78 79 80 81 |
# File 'lib/asana/resources/gen/tags_base.rb', line 77 def (client, workspace: nil, options: {}) path = "/tags" params = { workspace: workspace }.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
91 92 93 94 95 |
# File 'lib/asana/resources/gen/tags_base.rb', line 91 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
105 106 107 108 109 |
# File 'lib/asana/resources/gen/tags_base.rb', line 105 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
120 121 122 123 124 |
# File 'lib/asana/resources/gen/tags_base.rb', line 120 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 |