Class: Ittybit::TasksClient
- Inherits:
-
Object
- Object
- Ittybit::TasksClient
- Defined in:
- lib/ittybit/tasks/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(request: nil, request_options: nil) ⇒ Ittybit::Tasks::TasksCreateResponse
Creates a new task item.
-
#get(id:, request_options: nil) ⇒ Ittybit::Tasks::TasksGetResponse
Retrieves the task object for a task with the given ID.
- #initialize(request_client:) ⇒ Ittybit::TasksClient constructor
-
#list(page: nil, limit: nil, request_options: nil) ⇒ Array<Ittybit::Tasks::TasksListResponseItem>
Retrieves a paginated list of all tasks for the current project.
Constructor Details
#initialize(request_client:) ⇒ Ittybit::TasksClient
17 18 19 |
# File 'lib/ittybit/tasks/client.rb', line 17 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Ittybit::RequestClient (readonly)
13 14 15 |
# File 'lib/ittybit/tasks/client.rb', line 13 def request_client @request_client end |
Instance Method Details
#create(request: nil, request_options: nil) ⇒ Ittybit::Tasks::TasksCreateResponse
Creates a new task item. See [Tasks](/docs/tasks) for detailed coverage of all
available props and values.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/ittybit/tasks/client.rb', line 71 def create(request: nil, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(request_options: )}/tasks" end Ittybit::Tasks::TasksCreateResponse.from_json(json_object: response.body) end |
#get(id:, request_options: nil) ⇒ Ittybit::Tasks::TasksGetResponse
Retrieves the task object for a task with the given ID.
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/ittybit/tasks/client.rb', line 103 def get(id:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/tasks/#{id}" end Ittybit::Tasks::TasksGetResponse.from_json(json_object: response.body) end |
#list(page: nil, limit: nil, request_options: nil) ⇒ Array<Ittybit::Tasks::TasksListResponseItem>
Retrieves a paginated list of all tasks for the current project.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/ittybit/tasks/client.rb', line 34 def list(page: nil, limit: nil, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact req.params = { **(&.additional_query_parameters || {}), "page": page, "limit": limit }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/tasks" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json Ittybit::Tasks::TasksListResponseItem.from_json(json_object: item) end end |