slack-ruby-client 0.16.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/danger.yml +19 -0
  3. data/.github/workflows/integtest.yml +25 -0
  4. data/.github/workflows/rubocop.yml +13 -0
  5. data/.github/workflows/test.yml +34 -0
  6. data/.gitignore +5 -3
  7. data/.rubocop.yml +6 -0
  8. data/.rubocop_todo.yml +137 -43
  9. data/CHANGELOG.md +34 -3
  10. data/CONTRIBUTING.md +4 -4
  11. data/Gemfile +18 -1
  12. data/Gemfile.danger +6 -0
  13. data/LICENSE.md +1 -1
  14. data/README.md +13 -12
  15. data/RELEASING.md +1 -1
  16. data/UPGRADING.md +42 -0
  17. data/bin/commands/admin_analytics.rb +2 -1
  18. data/bin/commands/admin_apps.rb +11 -0
  19. data/bin/commands/admin_apps_requests.rb +12 -0
  20. data/bin/commands/admin_auth_policy.rb +39 -0
  21. data/bin/commands/admin_conversations.rb +2 -1
  22. data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
  23. data/bin/commands/admin_emoji.rb +2 -2
  24. data/bin/commands/admin_teams.rb +1 -1
  25. data/bin/commands/admin_users.rb +1 -0
  26. data/bin/commands/admin_users_session.rb +40 -0
  27. data/bin/commands/admin_users_unsupportedVersions.rb +15 -0
  28. data/bin/commands/apps_manifest.rb +52 -0
  29. data/bin/commands/bookmarks.rb +52 -0
  30. data/bin/commands/channels.rb +0 -157
  31. data/bin/commands/chat.rb +14 -9
  32. data/bin/commands/conversations.rb +61 -4
  33. data/bin/commands/dnd.rb +3 -1
  34. data/bin/commands/files.rb +2 -1
  35. data/bin/commands/groups.rb +0 -163
  36. data/bin/commands/im.rb +0 -62
  37. data/bin/commands/mpim.rb +0 -60
  38. data/bin/commands/oauth.rb +0 -13
  39. data/bin/commands/oauth_v2.rb +13 -1
  40. data/bin/commands/openid_connect.rb +27 -0
  41. data/bin/commands/pins.rb +2 -2
  42. data/bin/commands/reminders.rb +6 -0
  43. data/bin/commands/rtm.rb +2 -2
  44. data/bin/commands/search.rb +2 -1
  45. data/bin/commands/stars.rb +7 -6
  46. data/bin/commands/team.rb +1 -0
  47. data/bin/commands/team_billing.rb +13 -0
  48. data/bin/commands/team_preferences.rb +13 -0
  49. data/bin/commands/tooling_tokens.rb +14 -0
  50. data/bin/commands/usergroups.rb +1 -1
  51. data/bin/commands/users.rb +1 -1
  52. data/bin/commands/views.rb +1 -1
  53. data/bin/commands.rb +8 -9
  54. data/lib/slack/config.rb +1 -2
  55. data/lib/slack/events/request.rb +5 -3
  56. data/lib/slack/real_time/client.rb +6 -7
  57. data/lib/slack/real_time/concurrency/async.rb +6 -8
  58. data/lib/slack/real_time/config.rb +3 -13
  59. data/lib/slack/real_time/socket.rb +1 -2
  60. data/lib/slack/real_time/stores/base.rb +1 -6
  61. data/lib/slack/real_time/stores/starter.rb +6 -3
  62. data/lib/slack/real_time/stores/store.rb +5 -0
  63. data/lib/slack/version.rb +1 -1
  64. data/lib/slack/web/api/endpoints/admin_analytics.rb +5 -3
  65. data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
  66. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
  67. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +20 -2
  68. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
  69. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  70. data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
  71. data/lib/slack/web/api/endpoints/admin_conversations.rb +28 -26
  72. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  73. data/lib/slack/web/api/endpoints/admin_emoji.rb +11 -11
  74. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
  75. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
  76. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  77. data/lib/slack/web/api/endpoints/admin_teams.rb +7 -7
  78. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
  79. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
  80. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
  81. data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
  82. data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
  83. data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
  84. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  85. data/lib/slack/web/api/endpoints/api.rb +1 -1
  86. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  87. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
  88. data/lib/slack/web/api/endpoints/apps_manifest.rb +77 -0
  89. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  90. data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
  91. data/lib/slack/web/api/endpoints/bookmarks.rb +86 -0
  92. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  93. data/lib/slack/web/api/endpoints/calls.rb +15 -15
  94. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  95. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  96. data/lib/slack/web/api/endpoints/chat.rb +67 -57
  97. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
  98. data/lib/slack/web/api/endpoints/conversations.rb +117 -27
  99. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  100. data/lib/slack/web/api/endpoints/dnd.rb +6 -3
  101. data/lib/slack/web/api/endpoints/files.rb +16 -14
  102. data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
  103. data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
  104. data/lib/slack/web/api/endpoints/groups.rb +0 -273
  105. data/lib/slack/web/api/endpoints/im.rb +0 -107
  106. data/lib/slack/web/api/endpoints/migration.rb +3 -3
  107. data/lib/slack/web/api/endpoints/mpim.rb +0 -102
  108. data/lib/slack/web/api/endpoints/oauth.rb +5 -27
  109. data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
  110. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  111. data/lib/slack/web/api/endpoints/pins.rb +4 -4
  112. data/lib/slack/web/api/endpoints/reactions.rb +12 -12
  113. data/lib/slack/web/api/endpoints/reminders.rb +17 -5
  114. data/lib/slack/web/api/endpoints/rtm.rb +10 -10
  115. data/lib/slack/web/api/endpoints/search.rb +24 -16
  116. data/lib/slack/web/api/endpoints/stars.rb +11 -9
  117. data/lib/slack/web/api/endpoints/team.rb +10 -8
  118. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  119. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  120. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  121. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  122. data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
  123. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
  124. data/lib/slack/web/api/endpoints/users.rb +16 -16
  125. data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
  126. data/lib/slack/web/api/endpoints/views.rb +12 -12
  127. data/lib/slack/web/api/endpoints/workflows.rb +9 -9
  128. data/lib/slack/web/api/endpoints.rb +16 -20
  129. data/lib/slack/web/api/errors/server_error.rb +37 -0
  130. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
  131. data/lib/slack/web/api/errors.rb +232 -16
  132. data/lib/slack/web/api/mixins.rb +0 -2
  133. data/lib/slack/web/api/patches/chat.1.patch +7 -9
  134. data/lib/slack/web/api/templates/endpoints.erb +0 -2
  135. data/lib/slack/web/faraday/connection.rb +5 -5
  136. data/lib/slack/web/faraday/request.rb +4 -1
  137. data/lib/slack/web/faraday/response/raise_error.rb +2 -14
  138. data/lib/slack/web/faraday/response/wrap_error.rb +11 -5
  139. data/lib/slack/web/pagination/cursor.rb +1 -5
  140. data/lib/slack-ruby-client.rb +3 -2
  141. data/lib/tasks/real_time.rake +1 -3
  142. data/lib/tasks/web.rake +4 -0
  143. data/slack-ruby-client.gemspec +5 -14
  144. data/spec/fixtures/slack/web/429_error.yml +50 -54
  145. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  146. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  147. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  148. data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
  149. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
  150. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
  151. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  152. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  153. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  154. data/spec/fixtures/slack/web/users_info.yml +153 -69
  155. data/spec/fixtures/slack/web/users_list.yml +102 -41
  156. data/spec/fixtures/slack/web/views_open_error.yml +49 -42
  157. data/spec/integration/integration_spec.rb +1 -1
  158. data/spec/slack/events/request_spec.rb +7 -6
  159. data/spec/slack/real_time/client_spec.rb +37 -39
  160. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  161. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  162. data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
  163. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -9
  164. data/spec/slack/real_time/event_handlers/group_spec.rb +2 -2
  165. data/spec/slack/real_time/event_handlers/im_spec.rb +7 -7
  166. data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
  167. data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
  168. data/spec/slack/real_time/rtm_start_spec.rb +1 -1
  169. data/spec/slack/real_time/store_spec.rb +2 -2
  170. data/spec/slack/slack_spec.rb +7 -5
  171. data/spec/slack/version_spec.rb +1 -1
  172. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +5 -0
  173. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  174. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  175. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +9 -9
  176. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
  177. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  178. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
  179. data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
  180. data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
  181. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  182. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  183. data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -0
  184. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  185. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  186. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
  187. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +28 -16
  188. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  189. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +4 -2
  190. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
  191. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +22 -14
  192. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
  193. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  194. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  195. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
  196. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
  197. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → openid_connect_spec.rb} +1 -1
  198. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  199. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  200. data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → team_billing_spec.rb} +1 -1
  201. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  202. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  203. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  204. data/spec/slack/web/api/error_spec.rb +5 -7
  205. data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
  206. data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
  207. data/spec/slack/web/api/pagination/cursor_spec.rb +8 -10
  208. data/spec/slack/web/client_spec.rb +46 -32
  209. data/spec/slack/web/faraday/request_spec.rb +80 -0
  210. data/spec/slack/web/faraday/response/raise_error_spec.rb +2 -1
  211. data/spec/spec_helper.rb +1 -1
  212. data/spec/support/real_time/connected_client.rb +2 -8
  213. data/spec/support/vcr.rb +33 -2
  214. metadata +50 -297
  215. data/.travis.yml +0 -28
  216. data/lib/slack/web/api/errors/internal_error.rb +0 -14
  217. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  218. data/lib/slack/web/api/mixins/channels.id.rb +0 -25
  219. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  220. data/lib/slack/web/api/mixins/groups.id.rb +0 -25
  221. data/spec/fixtures/slack/web/503_error.yml +0 -14
  222. data/spec/fixtures/slack/web/channels_info.yml +0 -139
  223. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  224. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +0 -32
  225. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
  226. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
  227. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
  228. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
  229. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
  230. data/spec/slack/web/api/endpoints/im_spec.rb +0 -39
  231. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -39
  232. data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
  233. data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
  234. data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -9,15 +9,15 @@ module Slack
9
9
  #
10
10
  # List conversations the calling user may access.
11
11
  #
12
- # @option options [Object] :cursor
12
+ # @option options [string] :cursor
13
13
  # Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
14
- # @option options [Object] :exclude_archived
14
+ # @option options [boolean] :exclude_archived
15
15
  # Set to true to exclude archived channels from the list.
16
- # @option options [Object] :limit
16
+ # @option options [number] :limit
17
17
  # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000.
18
- # @option options [Object] :team_id
18
+ # @option options [string] :team_id
19
19
  # encoded team id to list conversations in, required if org token is used.
20
- # @option options [Object] :types
20
+ # @option options [string] :types
21
21
  # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
22
22
  # @option options [user] :user
23
23
  # Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.
@@ -69,7 +69,7 @@ module Slack
69
69
  #
70
70
  # @option options [user] :user
71
71
  # User to get info on.
72
- # @option options [Object] :include_locale
72
+ # @option options [boolean] :include_locale
73
73
  # Set this to true to receive the locale for this user. Defaults to false.
74
74
  # @see https://api.slack.com/methods/users.info
75
75
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.info.json
@@ -82,13 +82,13 @@ module Slack
82
82
  #
83
83
  # Lists all users in a Slack team.
84
84
  #
85
- # @option options [Object] :cursor
85
+ # @option options [string] :cursor
86
86
  # Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
87
- # @option options [Object] :include_locale
87
+ # @option options [boolean] :include_locale
88
88
  # Set this to true to receive the locale for users. Defaults to false.
89
- # @option options [Object] :limit
89
+ # @option options [number] :limit
90
90
  # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.
91
- # @option options [Object] :team_id
91
+ # @option options [string] :team_id
92
92
  # encoded team id to list users in, required if org token is used.
93
93
  # @see https://api.slack.com/methods/users.list
94
94
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
@@ -105,7 +105,7 @@ module Slack
105
105
  #
106
106
  # Find a user with an email address.
107
107
  #
108
- # @option options [Object] :email
108
+ # @option options [string] :email
109
109
  # An email address belonging to a user in the workspace.
110
110
  # @see https://api.slack.com/methods/users.lookupByEmail
111
111
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.lookupByEmail.json
@@ -126,13 +126,13 @@ module Slack
126
126
  #
127
127
  # Set the user profile photo
128
128
  #
129
- # @option options [Object] :crop_w
129
+ # @option options [string] :crop_w
130
130
  # Width/height of crop box (always square).
131
- # @option options [Object] :crop_x
131
+ # @option options [string] :crop_x
132
132
  # X coordinate of top-left corner of crop box.
133
- # @option options [Object] :crop_y
133
+ # @option options [string] :crop_y
134
134
  # Y coordinate of top-left corner of crop box.
135
- # @option options [Object] :image
135
+ # @option options [string] :image
136
136
  # File contents via multipart/form-data.
137
137
  # @see https://api.slack.com/methods/users.setPhoto
138
138
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
@@ -143,7 +143,7 @@ module Slack
143
143
  #
144
144
  # Manually sets user presence.
145
145
  #
146
- # @option options [Object] :presence
146
+ # @option options [string] :presence
147
147
  # Either auto or away.
148
148
  # @see https://api.slack.com/methods/users.setPresence
149
149
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPresence.json
@@ -9,7 +9,7 @@ module Slack
9
9
  #
10
10
  # Retrieve a user's profile information, including their custom status.
11
11
  #
12
- # @option options [Object] :include_labels
12
+ # @option options [boolean] :include_labels
13
13
  # Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended.
14
14
  # @option options [user] :user
15
15
  # User to retrieve profile info for.
@@ -23,13 +23,13 @@ module Slack
23
23
  #
24
24
  # Set a user's profile information, including custom status.
25
25
  #
26
- # @option options [Object] :name
26
+ # @option options [string] :name
27
27
  # Name of a single key to set. Usable only if profile is not passed.
28
- # @option options [Object] :profile
28
+ # @option options [string] :profile
29
29
  # Collection of key:value pairs presented as a URL-encoded JSON hash. At most 50 fields may be set. Each field name is limited to 255 characters.
30
30
  # @option options [user] :user
31
31
  # ID of user to change. This argument may only be specified by team admins on paid teams.
32
- # @option options [Object] :value
32
+ # @option options [string] :value
33
33
  # Value to set a single key to. Usable only if profile is not passed.
34
34
  # @see https://api.slack.com/methods/users.profile.set
35
35
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users.profile/users.profile.set.json
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Open a view for a user.
11
11
  #
12
- # @option options [Object] :trigger_id
12
+ # @option options [string] :trigger_id
13
13
  # Exchange a trigger to post to the user.
14
- # @option options [Object] :view
14
+ # @option options [view as string] :view
15
15
  # A view payload. This must be a JSON-encoded string.
16
16
  # @see https://api.slack.com/methods/views.open
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.open.json
@@ -29,11 +29,11 @@ module Slack
29
29
  #
30
30
  # Publish a static view for a User.
31
31
  #
32
- # @option options [Object] :user_id
32
+ # @option options [string] :user_id
33
33
  # id of the user you want publish a view to.
34
- # @option options [Object] :view
34
+ # @option options [view as string] :view
35
35
  # A view payload. This must be a JSON-encoded string.
36
- # @option options [Object] :hash
36
+ # @option options [string] :hash
37
37
  # A string that represents view state to protect against possible race conditions.
38
38
  # @see https://api.slack.com/methods/views.publish
39
39
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.publish.json
@@ -51,9 +51,9 @@ module Slack
51
51
  #
52
52
  # Push a view onto the stack of a root view.
53
53
  #
54
- # @option options [Object] :trigger_id
54
+ # @option options [string] :trigger_id
55
55
  # Exchange a trigger to post to the user.
56
- # @option options [Object] :view
56
+ # @option options [view as string] :view
57
57
  # A view payload. This must be a JSON-encoded string.
58
58
  # @see https://api.slack.com/methods/views.push
59
59
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.push.json
@@ -71,14 +71,14 @@ module Slack
71
71
  #
72
72
  # Update an existing view.
73
73
  #
74
- # @option options [Object] :view
74
+ # @option options [view as string] :view
75
75
  # A view object. This must be a JSON-encoded string.
76
- # @option options [Object] :external_id
76
+ # @option options [string] :external_id
77
77
  # A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Either view_id or external_id is required.
78
- # @option options [Object] :hash
79
- # A string that represents view state to protect against possible race conditions.
80
- # @option options [Object] :view_id
78
+ # @option options [string] :view_id
81
79
  # A unique identifier of the view to be updated. Either view_id or external_id is required.
80
+ # @option options [string] :hash
81
+ # A string that represents view state to protect against possible race conditions.
82
82
  # @see https://api.slack.com/methods/views.update
83
83
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.update.json
84
84
  def views_update(options = {})
@@ -9,9 +9,9 @@ module Slack
9
9
  #
10
10
  # Indicate that an app's step in a workflow completed execution.
11
11
  #
12
- # @option options [Object] :workflow_step_execute_id
12
+ # @option options [string] :workflow_step_execute_id
13
13
  # Context identifier that maps to the correct workflow step execution.
14
- # @option options [Object] :outputs
14
+ # @option options [object] :outputs
15
15
  # Key-value object of outputs from your step. Keys of this object reflect the configured key properties of your outputs array from your workflow_step object.
16
16
  # @see https://api.slack.com/methods/workflows.stepCompleted
17
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepCompleted.json
@@ -23,9 +23,9 @@ module Slack
23
23
  #
24
24
  # Indicate that an app's step in a workflow failed to execute.
25
25
  #
26
- # @option options [Object] :error
26
+ # @option options [object] :error
27
27
  # A JSON-based object with a message property that should contain a human readable error message.
28
- # @option options [Object] :workflow_step_execute_id
28
+ # @option options [string] :workflow_step_execute_id
29
29
  # Context identifier that maps to the correct workflow step execution.
30
30
  # @see https://api.slack.com/methods/workflows.stepFailed
31
31
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepFailed.json
@@ -38,15 +38,15 @@ module Slack
38
38
  #
39
39
  # Update the configuration for a workflow step.
40
40
  #
41
- # @option options [Object] :workflow_step_edit_id
41
+ # @option options [string] :workflow_step_edit_id
42
42
  # A context identifier provided with view_submission payloads used to call back to workflows.updateStep.
43
- # @option options [Object] :inputs
43
+ # @option options [object] :inputs
44
44
  # A JSON key-value map of inputs required from a user during configuration. This is the data your app expects to receive when the workflow step starts. Please note: the embedded variable format is set and replaced by the workflow system. You cannot create custom variables that will be replaced at runtime. Read more about variables in workflow steps here.
45
- # @option options [Object] :outputs
45
+ # @option options [array] :outputs
46
46
  # An JSON array of output objects used during step execution. This is the data your app agrees to provide when your workflow step was executed.
47
- # @option options [Object] :step_image_url
47
+ # @option options [string] :step_image_url
48
48
  # An optional field that can be used to override app image that is shown in the Workflow Builder.
49
- # @option options [Object] :step_name
49
+ # @option options [string] :step_name
50
50
  # An optional field that can be used to override the step name that is shown in the Workflow Builder.
51
51
  # @see https://api.slack.com/methods/workflows.updateStep
52
52
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.updateStep.json
@@ -6,11 +6,11 @@ require_relative 'endpoints/admin_apps'
6
6
  require_relative 'endpoints/admin_apps_approved'
7
7
  require_relative 'endpoints/admin_apps_requests'
8
8
  require_relative 'endpoints/admin_apps_restricted'
9
+ require_relative 'endpoints/admin_auth_policy'
9
10
  require_relative 'endpoints/admin_barriers'
10
11
  require_relative 'endpoints/admin_conversations'
11
12
  require_relative 'endpoints/admin_conversations_ekm'
12
13
  require_relative 'endpoints/admin_conversations_restrictAccess'
13
- require_relative 'endpoints/admin_conversations_whitelist'
14
14
  require_relative 'endpoints/admin_emoji'
15
15
  require_relative 'endpoints/admin_inviteRequests'
16
16
  require_relative 'endpoints/admin_inviteRequests_approved'
@@ -22,20 +22,18 @@ require_relative 'endpoints/admin_teams_settings'
22
22
  require_relative 'endpoints/admin_usergroups'
23
23
  require_relative 'endpoints/admin_users'
24
24
  require_relative 'endpoints/admin_users_session'
25
+ require_relative 'endpoints/admin_users_unsupportedVersions'
25
26
  require_relative 'endpoints/api'
26
27
  require_relative 'endpoints/apps'
27
28
  require_relative 'endpoints/apps_connections'
28
29
  require_relative 'endpoints/apps_event_authorizations'
29
- require_relative 'endpoints/apps_permissions'
30
- require_relative 'endpoints/apps_permissions_resources'
31
- require_relative 'endpoints/apps_permissions_scopes'
32
- require_relative 'endpoints/apps_permissions_users'
30
+ require_relative 'endpoints/apps_manifest'
33
31
  require_relative 'endpoints/auth'
34
32
  require_relative 'endpoints/auth_teams'
33
+ require_relative 'endpoints/bookmarks'
35
34
  require_relative 'endpoints/bots'
36
35
  require_relative 'endpoints/calls'
37
36
  require_relative 'endpoints/calls_participants'
38
- require_relative 'endpoints/channels'
39
37
  require_relative 'endpoints/chat'
40
38
  require_relative 'endpoints/chat_scheduledMessages'
41
39
  require_relative 'endpoints/conversations'
@@ -45,12 +43,10 @@ require_relative 'endpoints/emoji'
45
43
  require_relative 'endpoints/files'
46
44
  require_relative 'endpoints/files_comments'
47
45
  require_relative 'endpoints/files_remote'
48
- require_relative 'endpoints/groups'
49
- require_relative 'endpoints/im'
50
46
  require_relative 'endpoints/migration'
51
- require_relative 'endpoints/mpim'
52
47
  require_relative 'endpoints/oauth'
53
48
  require_relative 'endpoints/oauth_v2'
49
+ require_relative 'endpoints/openid_connect'
54
50
  require_relative 'endpoints/pins'
55
51
  require_relative 'endpoints/reactions'
56
52
  require_relative 'endpoints/reminders'
@@ -58,7 +54,10 @@ require_relative 'endpoints/rtm'
58
54
  require_relative 'endpoints/search'
59
55
  require_relative 'endpoints/stars'
60
56
  require_relative 'endpoints/team'
57
+ require_relative 'endpoints/team_billing'
58
+ require_relative 'endpoints/team_preferences'
61
59
  require_relative 'endpoints/team_profile'
60
+ require_relative 'endpoints/tooling_tokens'
62
61
  require_relative 'endpoints/usergroups'
63
62
  require_relative 'endpoints/usergroups_users'
64
63
  require_relative 'endpoints/users'
@@ -73,20 +72,18 @@ module Slack
73
72
  module Api
74
73
  module Endpoints
75
74
  include Slack::Web::Api::Mixins::Conversations
76
- include Slack::Web::Api::Mixins::Channels
77
75
  include Slack::Web::Api::Mixins::Users
78
- include Slack::Web::Api::Mixins::Groups
79
76
 
80
77
  include AdminAnalytics
81
78
  include AdminApps
82
79
  include AdminAppsApproved
83
80
  include AdminAppsRequests
84
81
  include AdminAppsRestricted
82
+ include AdminAuthPolicy
85
83
  include AdminBarriers
86
84
  include AdminConversations
87
85
  include AdminConversationsEkm
88
86
  include AdminConversationsRestrictaccess
89
- include AdminConversationsWhitelist
90
87
  include AdminEmoji
91
88
  include AdminInviterequests
92
89
  include AdminInviterequestsApproved
@@ -98,20 +95,18 @@ module Slack
98
95
  include AdminUsergroups
99
96
  include AdminUsers
100
97
  include AdminUsersSession
98
+ include AdminUsersUnsupportedversions
101
99
  include Api
102
100
  include Apps
103
101
  include AppsConnections
104
102
  include AppsEventAuthorizations
105
- include AppsPermissions
106
- include AppsPermissionsResources
107
- include AppsPermissionsScopes
108
- include AppsPermissionsUsers
103
+ include AppsManifest
109
104
  include Auth
110
105
  include AuthTeams
106
+ include Bookmarks
111
107
  include Bots
112
108
  include Calls
113
109
  include CallsParticipants
114
- include Channels
115
110
  include Chat
116
111
  include ChatScheduledmessages
117
112
  include Conversations
@@ -121,12 +116,10 @@ module Slack
121
116
  include Files
122
117
  include FilesComments
123
118
  include FilesRemote
124
- include Groups
125
- include Im
126
119
  include Migration
127
- include Mpim
128
120
  include Oauth
129
121
  include OauthV2
122
+ include OpenidConnect
130
123
  include Pins
131
124
  include Reactions
132
125
  include Reminders
@@ -134,7 +127,10 @@ module Slack
134
127
  include Search
135
128
  include Stars
136
129
  include Team
130
+ include TeamBilling
131
+ include TeamPreferences
137
132
  include TeamProfile
133
+ include ToolingTokens
138
134
  include Usergroups
139
135
  include UsergroupsUsers
140
136
  include Users
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+ module Slack
3
+ module Web
4
+ module Api
5
+ module Errors
6
+ class ServerError < ::Faraday::Error
7
+ attr_reader :response
8
+
9
+ def initialize(message, response)
10
+ @response = response
11
+ super message
12
+ end
13
+ end
14
+
15
+ class ParsingError < ServerError
16
+ def initialize(response)
17
+ super('parsing_error', response)
18
+ end
19
+ end
20
+
21
+ class HttpRequestError < ServerError; end
22
+
23
+ class TimeoutError < HttpRequestError
24
+ def initialize(response)
25
+ super('timeout_error', response)
26
+ end
27
+ end
28
+
29
+ class UnavailableError < HttpRequestError
30
+ def initialize(response)
31
+ super('unavailable_error', response)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -8,10 +8,7 @@ module Slack
8
8
 
9
9
  def initialize(response)
10
10
  @response = response
11
- end
12
-
13
- def message
14
- "Retry after #{retry_after} seconds"
11
+ super "Retry after #{retry_after} seconds"
15
12
  end
16
13
 
17
14
  def retry_after