chatwork 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -1
  3. data/README.md +113 -38
  4. data/lib/chatwork.rb +35 -3
  5. data/lib/chatwork/base_client.rb +9 -4
  6. data/lib/chatwork/client.rb +43 -8
  7. data/lib/chatwork/client/contacts_methods.rb +29 -0
  8. data/lib/chatwork/client/file_methods.rb +67 -0
  9. data/lib/chatwork/client/incoming_request_methods.rb +77 -0
  10. data/lib/chatwork/client/invitation_link_methods.rb +110 -0
  11. data/lib/chatwork/client/me_methods.rb +38 -0
  12. data/lib/chatwork/client/member_methods.rb +64 -0
  13. data/lib/chatwork/client/message_methods.rb +178 -0
  14. data/lib/chatwork/client/my_status_methods.rb +25 -0
  15. data/lib/chatwork/client/my_task_methods.rb +41 -0
  16. data/lib/chatwork/client/room_methods.rb +156 -0
  17. data/lib/chatwork/client/task_methods.rb +109 -0
  18. data/lib/chatwork/contacts.rb +6 -4
  19. data/lib/chatwork/converter.rb +18 -0
  20. data/lib/chatwork/file.rb +12 -6
  21. data/lib/chatwork/incoming_request.rb +18 -8
  22. data/lib/chatwork/invitation_link.rb +24 -20
  23. data/lib/chatwork/me.rb +6 -4
  24. data/lib/chatwork/member.rb +18 -12
  25. data/lib/chatwork/message.rb +42 -16
  26. data/lib/chatwork/my_status.rb +6 -4
  27. data/lib/chatwork/my_task.rb +6 -4
  28. data/lib/chatwork/oauth_client.rb +10 -2
  29. data/lib/chatwork/oauth_client/token_methods.rb +25 -0
  30. data/lib/chatwork/room.rb +37 -20
  31. data/lib/chatwork/task.rb +18 -14
  32. data/lib/chatwork/token.rb +1 -7
  33. data/lib/chatwork/version.rb +1 -1
  34. data/spec/lib/chatwork/client/contacts_methods_spec.rb +11 -0
  35. data/spec/lib/chatwork/client/file_methods_spec.rb +37 -0
  36. data/spec/lib/chatwork/client/incoming_request_methods_spec.rb +35 -0
  37. data/spec/lib/chatwork/client/invitation_link_methods_spec.rb +71 -0
  38. data/spec/lib/chatwork/client/me_methods_spec.rb +21 -0
  39. data/spec/lib/chatwork/client/member_methods_spec.rb +47 -0
  40. data/spec/lib/chatwork/client/message_methods_spec.rb +102 -0
  41. data/spec/lib/chatwork/client/my_status_methods_spec.rb +11 -0
  42. data/spec/lib/chatwork/client/my_task_methods_spec.rb +20 -0
  43. data/spec/lib/chatwork/client/room_methods_spec.rb +111 -0
  44. data/spec/lib/chatwork/client/task_methods_spec.rb +80 -0
  45. data/spec/lib/chatwork/client_spec.rb +8 -1
  46. data/spec/lib/chatwork/contacts_spec.rb +2 -2
  47. data/spec/lib/chatwork/{entity_methods_spec.rb → converter_spec.rb} +2 -2
  48. data/spec/lib/chatwork/file_spec.rb +2 -2
  49. data/spec/lib/chatwork/incoming_request_spec.rb +3 -3
  50. data/spec/lib/chatwork/invitation_link_spec.rb +4 -2
  51. data/spec/lib/chatwork/me_spec.rb +3 -21
  52. data/spec/lib/chatwork/member_spec.rb +2 -1
  53. data/spec/lib/chatwork/message_spec.rb +7 -7
  54. data/spec/lib/chatwork/my_status_spec.rb +1 -1
  55. data/spec/lib/chatwork/my_task_spec.rb +1 -0
  56. data/spec/lib/chatwork/{token_spec.rb → oauth_client/token_methods_spec.rb} +4 -7
  57. data/spec/lib/chatwork/oauth_client_spec.rb +7 -1
  58. data/spec/lib/chatwork/room_spec.rb +5 -2
  59. data/spec/lib/chatwork/task_spec.rb +3 -0
  60. data/spec/support/contexts/api_context.rb +4 -3
  61. data/spec/support/examples/a_chatwork_api.rb +22 -5
  62. data/spec/support/utils/raml_parser.rb +2 -3
  63. metadata +42 -8
  64. data/lib/chatwork/entity_methods.rb +0 -36
@@ -0,0 +1,77 @@
1
+ module ChatWork::Client::IncomingRequestMethods
2
+ # You can get the list of contact approval request you received
3
+ #
4
+ # (*This method returns up to 100 entries. We are planning to implement pagination to support larger number of data retrieval)
5
+ #
6
+ # @see http://developer.chatwork.com/ja/endpoint_incoming_requests.html#GET-incoming_requests
7
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
8
+ #
9
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
10
+ # @yieldparam response_body [Array<Hashie::Mash>] response body
11
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
12
+ #
13
+ # @return [Array<Hashie::Mash>]
14
+ #
15
+ # @example response format
16
+ # [
17
+ # {
18
+ # "request_id": 123,
19
+ # "account_id": 363,
20
+ # "message": "hogehoge",
21
+ # "name": "John Smith",
22
+ # "chatwork_id": "tarochatworkid",
23
+ # "organization_id": 101,
24
+ # "organization_name": "Hello Company",
25
+ # "department": "Marketing",
26
+ # "avatar_image_url": "https://example.com/abc.png"
27
+ # }
28
+ # ]
29
+ def get_incoming_requests(&block)
30
+ get("/incoming_requests", &block)
31
+ end
32
+
33
+ # You can approve a contact approval request you received
34
+ #
35
+ # @see http://developer.chatwork.com/ja/endpoint_incoming_requests.html#PUT-incoming_requests-request_id
36
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
37
+ #
38
+ # @param request_id [Integer]
39
+ #
40
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
41
+ # @yieldparam response_body [Hashie::Mash] response body
42
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
43
+ #
44
+ # @return [Hashie::Mash]
45
+ #
46
+ # @example response format
47
+ # {
48
+ # "account_id": 363,
49
+ # "room_id": 1234,
50
+ # "name": "John Smith",
51
+ # "chatwork_id": "tarochatworkid",
52
+ # "organization_id": 101,
53
+ # "organization_name": "Hello Company",
54
+ # "department": "Marketing",
55
+ # "avatar_image_url": "https://example.com/abc.png"
56
+ # }
57
+ def update_incoming_request(request_id:, &block)
58
+ put("/incoming_requests/#{request_id}", &block)
59
+ end
60
+
61
+ # You can decline a contact approval request you received
62
+ #
63
+ # @see http://developer.chatwork.com/ja/endpoint_incoming_requests.html#DELETE-incoming_requests-request_id
64
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
65
+ #
66
+ # @param request_id [Integer]
67
+ #
68
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
69
+ # @yieldparam response_body [Hashie::Mash] response body
70
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
71
+ def destroy_incoming_request(request_id:, &block)
72
+ delete("/incoming_requests/#{request_id}", &block)
73
+ end
74
+
75
+ alias_method :approve_incoming_request, :update_incoming_request
76
+ alias_method :decline_incoming_request, :destroy_incoming_request
77
+ end
@@ -0,0 +1,110 @@
1
+ module ChatWork::Client::InvitationLinkMethods
2
+ # Get invitation link
3
+ #
4
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-link
5
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
6
+ #
7
+ # @param room_id [Integer]
8
+ #
9
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
10
+ # @yieldparam response_body [Hashie::Mash] response body
11
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
12
+ #
13
+ # @return [Hashie::Mash]
14
+ #
15
+ # @example response format
16
+ # {
17
+ # "public": true,
18
+ # "url": "https://example.chatwork.com/g/randomcode42",
19
+ # "need_acceptance": true,
20
+ # "description": "Link description text"
21
+ # }
22
+ def get_invitation_link(room_id:, &block)
23
+ get("/rooms/#{room_id}/link", &block)
24
+ end
25
+
26
+ # Create invitation link
27
+ #
28
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-link
29
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
30
+ #
31
+ # @param room_id [Integer]
32
+ # @param code [String] link path (default. random string)
33
+ # @param description [String] description of link page
34
+ # @param need_acceptance [Boolean] Approval necessity. Whether participation requires administrator approval.
35
+ #
36
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
37
+ # @yieldparam response_body [Hashie::Mash] response body
38
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
39
+ #
40
+ # @return [Hashie::Mash]
41
+ #
42
+ # @example response format
43
+ # {
44
+ # "public": true,
45
+ # "url": "https://example.chatwork.com/g/unique-link-name",
46
+ # "need_acceptance": true,
47
+ # "description": "This is a public room for topic A."
48
+ # }
49
+ def create_invitation_link(room_id:, code: nil, description: nil, need_acceptance: nil, &block)
50
+ params = {
51
+ code: code,
52
+ description: description,
53
+ need_acceptance: boolean_to_integer(need_acceptance),
54
+ }
55
+ post("/rooms/#{room_id}/link", params, &block)
56
+ end
57
+
58
+ # Update invitation link
59
+ #
60
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-link
61
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
62
+ #
63
+ # @param room_id [Integer]
64
+ # @param code [String] link path (default. random string)
65
+ # @param description [String] description of link page
66
+ # @param need_acceptance [Boolean] Approval necessity. Whether participation requires administrator approval.
67
+ #
68
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
69
+ # @yieldparam response_body [Hashie::Mash] response body
70
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
71
+ #
72
+ # @return [Hashie::Mash]
73
+ #
74
+ # @example response format
75
+ # {
76
+ # "public": true,
77
+ # "url": "https://example.chatwork.com/g/another_link_name",
78
+ # "need_acceptance": false,
79
+ # "description": "Public room for everybody"
80
+ # }
81
+ def update_invitation_link(room_id:, code: nil, description: nil, need_acceptance: nil, &block)
82
+ params = {
83
+ code: code,
84
+ description: description,
85
+ need_acceptance: boolean_to_integer(need_acceptance),
86
+ }
87
+ put("/rooms/#{room_id}/link", params, &block)
88
+ end
89
+
90
+ # Delete invitation link
91
+ #
92
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#DELETE-rooms-room_id-link
93
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
94
+ #
95
+ # @param room_id [Integer]
96
+ #
97
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
98
+ # @yieldparam response_body [Hashie::Mash] response body
99
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
100
+ #
101
+ # @return [Hashie::Mash]
102
+ #
103
+ # @example response format
104
+ # {
105
+ # "public": false
106
+ # }
107
+ def destroy_invitation_link(room_id:, &block)
108
+ delete("/rooms/#{room_id}/link", &block)
109
+ end
110
+ end
@@ -0,0 +1,38 @@
1
+ module ChatWork::Client::MeMethods
2
+ # Get your account information
3
+ #
4
+ # @see http://developer.chatwork.com/ja/endpoint_me.html#GET-me
5
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
6
+ #
7
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
8
+ # @yieldparam response_body [Hashie::Mash] response body
9
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
10
+ #
11
+ # @return [Hashie::Mash]
12
+ #
13
+ # @example response format
14
+ # {
15
+ # "account_id": 123,
16
+ # "room_id": 322,
17
+ # "name": "John Smith",
18
+ # "chatwork_id": "tarochatworkid",
19
+ # "organization_id": 101,
20
+ # "organization_name": "Hello Company",
21
+ # "department": "Marketing",
22
+ # "title": "CMO",
23
+ # "url": "http://mycompany.example.com",
24
+ # "introduction": "Self Introduction",
25
+ # "mail": "taro@example.com",
26
+ # "tel_organization": "XXX-XXXX-XXXX",
27
+ # "tel_extension": "YYY-YYYY-YYYY",
28
+ # "tel_mobile": "ZZZ-ZZZZ-ZZZZ",
29
+ # "skype": "myskype_id",
30
+ # "facebook": "myfacebook_id",
31
+ # "twitter": "mytwitter_id",
32
+ # "avatar_image_url": "https://example.com/abc.png",
33
+ # "login_mail": "account@example.com"
34
+ # }
35
+ def get_me(&block)
36
+ get("/me", &block)
37
+ end
38
+ end
@@ -0,0 +1,64 @@
1
+ module ChatWork::Client::MemberMethods
2
+ # Get the list of all chat members associated with the specified chat
3
+ #
4
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-members
5
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
6
+ #
7
+ # @param room_id [Integer]
8
+ #
9
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
10
+ # @yieldparam response_body [Array<Hashie::Mash>] response body
11
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
12
+ #
13
+ # @return [Array<Hashie::Mash>]
14
+ #
15
+ # @example response format
16
+ # [
17
+ # {
18
+ # "account_id": 123,
19
+ # "role": "member",
20
+ # "name": "John Smith",
21
+ # "chatwork_id": "tarochatworkid",
22
+ # "organization_id": 101,
23
+ # "organization_name": "Hello Company",
24
+ # "department": "Marketing",
25
+ # "avatar_image_url": "https://example.com/abc.png"
26
+ # }
27
+ # ]
28
+ def get_members(room_id:, &block)
29
+ get("/rooms/#{room_id}/members", &block)
30
+ end
31
+
32
+ # Change associated members of group chat at once
33
+ #
34
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-members
35
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
36
+ #
37
+ # @param room_id [Integer]
38
+ # @param members_admin_ids [Array<Integer>, String] List of user IDs who will be given administrator permission for the group chat.
39
+ # At least one user must be specified as an administrator.
40
+ # @param members_member_ids [Array<Integer>, String] List of user IDs who will be given member permission for the group chat.
41
+ # @param members_readonly_ids [Array<Integer>, String] List of user IDs who will be given read-only permission for the group chat.
42
+ #
43
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
44
+ # @yieldparam response_body [Hashie::Mash] response body
45
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
46
+ #
47
+ # @return [Hashie::Mash]
48
+ #
49
+ # @example response format
50
+ # {
51
+ # "admin": [123, 542, 1001],
52
+ # "member": [10, 103],
53
+ # "readonly": [6, 11]
54
+ # }
55
+ def update_all_members(room_id:, members_admin_ids:, members_member_ids: nil, members_readonly_ids: nil, &block)
56
+ params = {
57
+ members_admin_ids: Array(members_admin_ids).join(","),
58
+ }
59
+ params[:members_member_ids] = Array(members_member_ids).join(",") if members_member_ids
60
+ params[:members_readonly_ids] = Array(members_readonly_ids).join(",") if members_readonly_ids
61
+
62
+ put("/rooms/#{room_id}/members", params, &block)
63
+ end
64
+ end
@@ -0,0 +1,178 @@
1
+ module ChatWork::Client::MessageMethods
2
+ # Get all messages associated with the specified chat (returns up to 100 entries).
3
+ #
4
+ # If the parameter is not set, it returns the next 100 entries from previous call.
5
+ #
6
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-messages
7
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
8
+ #
9
+ # @param room_id [Integer]
10
+ # @param force [Boolean, Integer] Flag which forces to get 100 newest entries regardless of previous calls.
11
+ #
12
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
13
+ # @yieldparam response_body [Array<Hashie::Mash>] response body
14
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
15
+ #
16
+ # @return [Array<Hashie::Mash>]
17
+ #
18
+ # @example response format
19
+ # [
20
+ # {
21
+ # "message_id": "5",
22
+ # "account": {
23
+ # "account_id": 123,
24
+ # "name": "Bob",
25
+ # "avatar_image_url": "https://example.com/ico_avatar.png"
26
+ # },
27
+ # "body": "Hello Chatwork!",
28
+ # "send_time": 1384242850,
29
+ # "update_time": 0
30
+ # }
31
+ # ]
32
+ def get_messages(room_id:, force: nil, &block)
33
+ get("/rooms/#{room_id}/messages", force: boolean_to_integer(force), &block)
34
+ end
35
+
36
+ # Add new message to the chat
37
+ #
38
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages
39
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
40
+ #
41
+ # @param room_id [Integer]
42
+ # @param body [String] message body
43
+ #
44
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
45
+ # @yieldparam response_body [Hashie::Mash] response body
46
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
47
+ #
48
+ # @return [Hashie::Mash]
49
+ #
50
+ # @example response format
51
+ # {
52
+ # "message_id": "1234"
53
+ # }
54
+ def create_message(room_id:, body:, &block)
55
+ post("/rooms/#{room_id}/messages", body: body, &block)
56
+ end
57
+
58
+ # Mark messages as read
59
+ #
60
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-messages-read
61
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
62
+ #
63
+ # @param room_id [Integer]
64
+ # @param message_id [String]
65
+ #
66
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
67
+ # @yieldparam response_body [Hashie::Mash] response body
68
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
69
+ #
70
+ # @return [Hashie::Mash]
71
+ #
72
+ # @example response format
73
+ # {
74
+ # "unread_num": 461,
75
+ # "mention_num": 0
76
+ # }
77
+ def read_message(room_id:, message_id: nil, &block)
78
+ put("/rooms/#{room_id}/messages/read", message_id: message_id, &block)
79
+ end
80
+
81
+ # Mark messages as unread
82
+ #
83
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-messages-unread
84
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
85
+ #
86
+ # @param room_id [Integer]
87
+ # @param message_id [String]
88
+ #
89
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
90
+ # @yieldparam response_body [Hashie::Mash] response body
91
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
92
+ #
93
+ # @return [Hashie::Mash]
94
+ #
95
+ # @example response format
96
+ # {
97
+ # "unread_num": 3,
98
+ # "mention_num": 0
99
+ # }
100
+ def unread_message(room_id:, message_id:, &block)
101
+ put("/rooms/#{room_id}/messages/unread", message_id: message_id, &block)
102
+ end
103
+
104
+ # Get information about the specified message
105
+ #
106
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-messages-message_id
107
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
108
+ #
109
+ # @param room_id [Integer]
110
+ # @param message_id [String]
111
+ #
112
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
113
+ # @yieldparam response_body [Hashie::Mash] response body
114
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
115
+ #
116
+ # @return [Hashie::Mash]
117
+ #
118
+ # @example response format
119
+ # {
120
+ # "message_id": "5",
121
+ # "account": {
122
+ # "account_id": 123,
123
+ # "name": "Bob",
124
+ # "avatar_image_url": "https://example.com/ico_avatar.png"
125
+ # },
126
+ # "body": "Hello Chatwork!",
127
+ # "send_time": 1384242850,
128
+ # "update_time": 0
129
+ # }
130
+ def find_message(room_id:, message_id:, &block)
131
+ get("/rooms/#{room_id}/messages/#{message_id}", &block)
132
+ end
133
+
134
+ # Update the specified message
135
+ #
136
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-messages-message_id
137
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
138
+ #
139
+ # @param room_id [Integer]
140
+ # @param message_id [String]
141
+ # @param body [String] message body
142
+ #
143
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
144
+ # @yieldparam response_body [Hashie::Mash] response body
145
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
146
+ #
147
+ # @return [Hashie::Mash]
148
+ #
149
+ # @example response format
150
+ # {
151
+ # "message_id": "1234"
152
+ # }
153
+ def update_message(room_id:, message_id:, body:, &block)
154
+ put("/rooms/#{room_id}/messages/#{message_id}", body: body, &block)
155
+ end
156
+
157
+ # Destroy the specified message
158
+ #
159
+ # @see http://developer.chatwork.com/ja/endpoint_rooms.html#PUT-rooms-room_id-messages-message_id
160
+ # @see http://download.chatwork.com/ChatWork_API_Documentation.pdf
161
+ #
162
+ # @param room_id [Integer]
163
+ # @param message_id [String]
164
+ #
165
+ # @yield [response_body, response_header] if block was given, return response body and response header through block arguments
166
+ # @yieldparam response_body [Hashie::Mash] response body
167
+ # @yieldparam response_header [Hash<String, String>] response header (e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)
168
+ #
169
+ # @return [Hashie::Mash]
170
+ #
171
+ # @example response format
172
+ # {
173
+ # "message_id": "1234"
174
+ # }
175
+ def destroy_message(room_id:, message_id:, &block)
176
+ delete("/rooms/#{room_id}/messages/#{message_id}", &block)
177
+ end
178
+ end