Module: ChatWork::Task

Defined in:
lib/chatwork/task.rb

Class Method Summary collapse

Class Method Details

.create(room_id:, body:, to_ids:, limit: nil, limit_type: nil) {|response_body, response_header| ... } ⇒ Hashie::Mash

Add a new task to the chat

Examples:

response format

{
  "task_ids": [123,124]
}

Parameters:

  • room_id (Integer)
  • body (String)

    Task description

  • to_ids (Array<Integer>, String)

    Account ID of the person/people responsible to complete the task

  • limit (Time, Integer) (defaults to: nil)

    When the task is due

  • limit_type (String) (defaults to: nil)

    Type of task deadline (e.g. none, date, time)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



67
68
69
# File 'lib/chatwork/task.rb', line 67

def self.create(room_id:, body:, to_ids:, limit: nil, limit_type: nil, &block)
  ChatWork.client.create_task(room_id: room_id, body: body, to_ids: to_ids, limit: limit, limit_type: limit_type, &block)
end

.find(room_id:, task_id:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Get information about the specified task

Examples:

response format

{
  "task_id": 3,
  "account": {
    "account_id": 123,
    "name": "Bob",
    "avatar_image_url": "https://example.com/abc.png"
  },
  "assigned_by_account": {
    "account_id": 456,
    "name": "Anna",
    "avatar_image_url": "https://example.com/def.png"
  },
  "message_id": "13",
  "body": "buy milk",
  "limit_time": 1384354799,
  "status": "open",
  "limit_type": "date"
}

Parameters:

  • room_id (Integer)
  • task_id (Integer)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



104
105
106
# File 'lib/chatwork/task.rb', line 104

def self.find(room_id:, task_id:, &block)
  ChatWork.client.find_task(room_id: room_id, task_id: task_id, &block)
end

.get(room_id:, account_id:, assigned_by_account_id: nil, status: nil) {|response_body, response_header| ... } ⇒ Array<Hashie::Mash>

Get the list of tasks associated with the specified chat

(*This method returns up to 100 entries. We are planning to implement pagination to support larger number of data retrieval)

Examples:

response format

[
  {
    "task_id": 3,
    "account": {
      "account_id": 123,
      "name": "Bob",
      "avatar_image_url": "https://example.com/abc.png"
    },
    "assigned_by_account": {
      "account_id": 456,
      "name": "Anna",
      "avatar_image_url": "https://example.com/def.png"
    },
    "message_id": "13",
    "body": "buy milk",
    "limit_time": 1384354799,
    "status": "open",
    "limit_type": "date"
  }
]

Parameters:

  • room_id (Integer)
  • account_id (Integer)
  • assigned_by_account_id (Integer) (defaults to: nil)

    Account ID of the person who assigned task

  • status (String) (defaults to: nil)

    Task status (open, done)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Array<Hashie::Mash>)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Array<Hashie::Mash>)

See Also:



42
43
44
# File 'lib/chatwork/task.rb', line 42

def self.get(room_id:, account_id:, assigned_by_account_id: nil, status: nil, &block)
  ChatWork.client.get_tasks(room_id: room_id, account_id: , assigned_by_account_id: , status: status, &block)
end

.update_status(room_id:, task_id:, body:) {|response_body, response_header| ... } ⇒ Hashie::Mash

Update task completion status

Examples:

response format

{
  "task_id": 1234
}

Parameters:

  • room_id (Integer)
  • task_id (Integer)
  • body (String)

    Task completion status (e.g. open, done)

Yields:

  • (response_body, response_header)

    if block was given, return response body and response header through block arguments

Yield Parameters:

  • response_body (Hashie::Mash)

    response body

  • response_header (Hash<String, String>)

    response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)

Returns:

  • (Hashie::Mash)

See Also:



127
128
129
# File 'lib/chatwork/task.rb', line 127

def self.update_status(room_id:, task_id:, body:, &block)
  ChatWork.client.update_task_status(room_id: room_id, task_id: task_id, body: body, &block)
end