slack-ruby-client 0.7.2 → 1.0.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 (383) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +2 -0
  4. data/.gitmodules +1 -1
  5. data/.rubocop.yml +37 -1
  6. data/.rubocop_todo.yml +130 -47
  7. data/.travis.yml +17 -13
  8. data/CHANGELOG.md +254 -43
  9. data/CONTRIBUTING.md +26 -15
  10. data/Dangerfile +3 -0
  11. data/Gemfile +13 -2
  12. data/LICENSE.md +1 -1
  13. data/README.md +287 -63
  14. data/RELEASING.md +22 -14
  15. data/Rakefile +2 -1
  16. data/UPGRADING.md +129 -5
  17. data/bin/commands/admin_analytics.rb +16 -0
  18. data/bin/commands/admin_apps.rb +51 -0
  19. data/bin/commands/admin_apps_approved.rb +17 -0
  20. data/bin/commands/admin_apps_requests.rb +17 -0
  21. data/bin/commands/admin_apps_restricted.rb +17 -0
  22. data/bin/commands/admin_auth_policy.rb +39 -0
  23. data/bin/commands/admin_barriers.rb +47 -0
  24. data/bin/commands/admin_conversations.rb +169 -0
  25. data/bin/commands/admin_conversations_ekm.rb +17 -0
  26. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  27. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  28. data/bin/commands/admin_emoji.rb +54 -0
  29. data/bin/commands/admin_inviteRequests.rb +36 -0
  30. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  31. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  32. data/bin/commands/admin_teams.rb +27 -0
  33. data/bin/commands/admin_teams_admins.rb +16 -0
  34. data/bin/commands/admin_teams_owners.rb +16 -0
  35. data/bin/commands/admin_teams_settings.rb +64 -0
  36. data/bin/commands/admin_usergroups.rb +48 -0
  37. data/bin/commands/admin_users.rb +98 -0
  38. data/bin/commands/admin_users_session.rb +78 -0
  39. data/bin/commands/api.rb +3 -3
  40. data/bin/commands/apps.rb +15 -0
  41. data/bin/commands/apps_connections.rb +13 -0
  42. data/bin/commands/apps_event_authorizations.rb +16 -0
  43. data/bin/commands/apps_manifest.rb +51 -0
  44. data/bin/commands/apps_permissions.rb +23 -0
  45. data/bin/commands/apps_permissions_resources.rb +15 -0
  46. data/bin/commands/apps_permissions_scopes.rb +13 -0
  47. data/bin/commands/apps_permissions_users.rb +26 -0
  48. data/bin/commands/auth.rb +12 -2
  49. data/bin/commands/auth_teams.rb +16 -0
  50. data/bin/commands/bots.rb +15 -0
  51. data/bin/commands/calls.rb +52 -0
  52. data/bin/commands/calls_participants.rb +25 -0
  53. data/bin/commands/channels.rb +6 -132
  54. data/bin/commands/chat.rb +127 -20
  55. data/bin/commands/chat_scheduledMessages.rb +19 -0
  56. data/bin/commands/conversations.rb +253 -0
  57. data/bin/commands/dialog.rb +15 -0
  58. data/bin/commands/dnd.rb +12 -9
  59. data/bin/commands/emoji.rb +3 -2
  60. data/bin/commands/files.rb +47 -31
  61. data/bin/commands/files_comments.rb +3 -23
  62. data/bin/commands/files_remote.rb +78 -0
  63. data/bin/commands/groups.rb +1 -154
  64. data/bin/commands/im.rb +1 -48
  65. data/bin/commands/migration.rb +16 -0
  66. data/bin/commands/mpim.rb +1 -48
  67. data/bin/commands/oauth.rb +4 -2
  68. data/bin/commands/oauth_v2.rb +29 -0
  69. data/bin/commands/openid_connect.rb +27 -0
  70. data/bin/commands/pins.rb +9 -12
  71. data/bin/commands/reactions.rb +17 -15
  72. data/bin/commands/reminders.rb +17 -10
  73. data/bin/commands/rtm.rb +19 -4
  74. data/bin/commands/search.rb +17 -12
  75. data/bin/commands/stars.rb +12 -9
  76. data/bin/commands/team.rb +23 -8
  77. data/bin/commands/team_billing.rb +13 -0
  78. data/bin/commands/team_preferences.rb +13 -0
  79. data/bin/commands/team_profile.rb +14 -0
  80. data/bin/commands/tooling_tokens.rb +14 -0
  81. data/bin/commands/usergroups.rb +23 -17
  82. data/bin/commands/usergroups_users.rb +7 -4
  83. data/bin/commands/users.rb +83 -27
  84. data/bin/commands/users_admin.rb +29 -0
  85. data/bin/commands/users_prefs.rb +13 -0
  86. data/bin/commands/users_profile.rb +27 -0
  87. data/bin/commands/views.rb +48 -0
  88. data/bin/commands/workflows.rb +38 -0
  89. data/bin/commands.rb +47 -5
  90. data/bin/slack +3 -4
  91. data/examples/hi_real_time_and_web/Gemfile +1 -0
  92. data/examples/hi_real_time_and_web/hi.rb +8 -4
  93. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
  94. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
  95. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
  96. data/examples/hi_web/Gemfile +1 -0
  97. data/examples/hi_web/hi.rb +2 -1
  98. data/examples/new_ticket/Gemfile +1 -0
  99. data/examples/new_ticket/new_ticket.rb +3 -2
  100. data/lib/slack/config.rb +2 -2
  101. data/lib/slack/events/config.rb +32 -0
  102. data/lib/slack/events/request.rb +72 -0
  103. data/lib/slack/logger.rb +6 -5
  104. data/lib/slack/messages/formatting.rb +4 -4
  105. data/lib/slack/messages/message.rb +6 -4
  106. data/lib/slack/real_time/api/message.rb +3 -1
  107. data/lib/slack/real_time/api/message_id.rb +1 -0
  108. data/lib/slack/real_time/api/ping.rb +5 -2
  109. data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
  110. data/lib/slack/real_time/api/typing.rb +3 -1
  111. data/lib/slack/real_time/client.rb +116 -36
  112. data/lib/slack/real_time/concurrency/async.rb +138 -0
  113. data/lib/slack/real_time/concurrency.rb +2 -2
  114. data/lib/slack/real_time/config.rb +17 -19
  115. data/lib/slack/real_time/models/base.rb +3 -3
  116. data/lib/slack/real_time/models/bot.rb +1 -0
  117. data/lib/slack/real_time/models/channel.rb +1 -0
  118. data/lib/slack/real_time/models/group.rb +1 -0
  119. data/lib/slack/real_time/models/im.rb +1 -0
  120. data/lib/slack/real_time/models/team.rb +1 -0
  121. data/lib/slack/real_time/models/user.rb +1 -0
  122. data/lib/slack/real_time/models.rb +8 -7
  123. data/lib/slack/real_time/socket.rb +51 -23
  124. data/lib/slack/real_time/stores/base.rb +6 -9
  125. data/lib/slack/real_time/stores/starter.rb +143 -69
  126. data/lib/slack/real_time/stores/store.rb +160 -82
  127. data/lib/slack/real_time/stores.rb +4 -3
  128. data/lib/slack/version.rb +2 -1
  129. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  130. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  131. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  132. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
  133. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  134. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  135. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  136. data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
  137. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  138. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  139. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  140. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  141. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  142. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  143. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  144. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  145. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  146. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  147. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  148. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  149. data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
  150. data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
  151. data/lib/slack/web/api/endpoints/api.rb +4 -5
  152. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  153. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  154. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  155. data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
  156. data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
  157. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
  158. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
  159. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
  160. data/lib/slack/web/api/endpoints/auth.rb +14 -2
  161. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  162. data/lib/slack/web/api/endpoints/bots.rb +25 -0
  163. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  164. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  165. data/lib/slack/web/api/endpoints/channels.rb +8 -201
  166. data/lib/slack/web/api/endpoints/chat.rb +252 -42
  167. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  168. data/lib/slack/web/api/endpoints/conversations.rb +422 -0
  169. data/lib/slack/web/api/endpoints/dialog.rb +33 -0
  170. data/lib/slack/web/api/endpoints/dnd.rb +17 -12
  171. data/lib/slack/web/api/endpoints/emoji.rb +3 -2
  172. data/lib/slack/web/api/endpoints/files.rb +82 -43
  173. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  174. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  175. data/lib/slack/web/api/endpoints/groups.rb +1 -235
  176. data/lib/slack/web/api/endpoints/im.rb +1 -73
  177. data/lib/slack/web/api/endpoints/migration.rb +28 -0
  178. data/lib/slack/web/api/endpoints/mpim.rb +1 -72
  179. data/lib/slack/web/api/endpoints/oauth.rb +9 -10
  180. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  181. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  182. data/lib/slack/web/api/endpoints/pins.rb +14 -23
  183. data/lib/slack/web/api/endpoints/presence.rb +1 -1
  184. data/lib/slack/web/api/endpoints/reactions.rb +43 -34
  185. data/lib/slack/web/api/endpoints/reminders.rb +28 -15
  186. data/lib/slack/web/api/endpoints/rtm.rb +29 -8
  187. data/lib/slack/web/api/endpoints/search.rb +39 -24
  188. data/lib/slack/web/api/endpoints/stars.rb +30 -22
  189. data/lib/slack/web/api/endpoints/team.rb +34 -11
  190. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  191. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  192. data/lib/slack/web/api/endpoints/team_profile.rb +23 -0
  193. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  194. data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
  195. data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
  196. data/lib/slack/web/api/endpoints/users.rb +104 -19
  197. data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
  198. data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
  199. data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
  200. data/lib/slack/web/api/endpoints/views.rb +97 -0
  201. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  202. data/lib/slack/web/api/endpoints.rb +111 -29
  203. data/lib/slack/web/api/error.rb +2 -8
  204. data/lib/slack/web/api/errors/server_error.rb +37 -0
  205. data/lib/slack/web/api/errors/slack_error.rb +29 -0
  206. data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
  207. data/lib/slack/web/api/errors.rb +1040 -0
  208. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  209. data/lib/slack/web/api/mixins/ids.id.rb +24 -0
  210. data/lib/slack/web/api/mixins/users.id.rb +6 -7
  211. data/lib/slack/web/api/mixins/users.search.rb +39 -36
  212. data/lib/slack/web/api/mixins.rb +4 -4
  213. data/lib/slack/web/api/patches/chat.1.patch +70 -0
  214. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
  215. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  216. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  217. data/lib/slack/web/api/templates/command.erb +5 -3
  218. data/lib/slack/web/api/templates/commands.erb +2 -1
  219. data/lib/slack/web/api/templates/endpoints.erb +5 -5
  220. data/lib/slack/web/api/templates/errors.erb +20 -0
  221. data/lib/slack/web/api/templates/method.erb +26 -4
  222. data/lib/slack/web/api/templates/method_spec.erb +3 -2
  223. data/lib/slack/web/client.rb +2 -1
  224. data/lib/slack/web/config.rb +21 -10
  225. data/lib/slack/web/faraday/connection.rb +25 -16
  226. data/lib/slack/web/faraday/request.rb +4 -1
  227. data/lib/slack/web/faraday/response/raise_error.rb +19 -1
  228. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  229. data/lib/slack/web/pagination/cursor.rb +48 -0
  230. data/lib/slack-ruby-client.rb +40 -26
  231. data/lib/slack.rb +1 -0
  232. data/lib/slack_ruby_client.rb +1 -0
  233. data/lib/tasks/git.rake +2 -1
  234. data/lib/tasks/real_time.rake +16 -6
  235. data/lib/tasks/update.rake +1 -0
  236. data/lib/tasks/web.rake +42 -10
  237. data/screenshots/create-app.png +0 -0
  238. data/slack-ruby-client.gemspec +11 -9
  239. data/spec/fixtures/slack/web/429_error.yml +50 -52
  240. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  241. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  242. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  243. data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
  244. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
  245. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
  246. data/spec/fixtures/slack/web/paginated_users_list.yml +613 -0
  247. data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
  248. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  249. data/spec/fixtures/slack/web/users_info.yml +153 -69
  250. data/spec/fixtures/slack/web/users_list.yml +102 -41
  251. data/spec/fixtures/slack/web/views_open_error.yml +83 -0
  252. data/spec/integration/integration_spec.rb +116 -48
  253. data/spec/slack/config_spec.rb +2 -0
  254. data/spec/slack/events/config_spec.rb +33 -0
  255. data/spec/slack/events/request_spec.rb +184 -0
  256. data/spec/slack/messages/formatting_spec.rb +25 -14
  257. data/spec/slack/real_time/api/message_spec.rb +6 -1
  258. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  259. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  260. data/spec/slack/real_time/client_spec.rb +465 -141
  261. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -0
  262. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  263. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  264. data/spec/slack/real_time/event_handlers/bot_spec.rb +7 -4
  265. data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
  266. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
  267. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  268. data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
  269. data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
  270. data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
  271. data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
  272. data/spec/slack/real_time/rtm_start_spec.rb +2 -1
  273. data/spec/slack/real_time/store_spec.rb +2 -1
  274. data/spec/slack/slack_spec.rb +42 -8
  275. data/spec/slack/version_spec.rb +2 -1
  276. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  277. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  278. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  279. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  280. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
  281. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  282. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  283. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  284. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  285. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
  286. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  287. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  288. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  289. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  290. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  291. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  292. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  293. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  294. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  295. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
  296. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  297. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  298. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  299. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  300. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  301. data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
  302. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  303. data/spec/slack/web/api/endpoints/bots_spec.rb +8 -0
  304. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  305. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  306. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
  307. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
  308. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
  309. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  310. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
  311. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
  312. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  313. data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
  314. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  315. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
  316. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  317. data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
  318. data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
  319. data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
  320. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
  321. data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
  322. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  323. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  324. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  325. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  326. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  327. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  328. data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
  329. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  330. data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -0
  331. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  332. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  333. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  334. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  335. data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
  336. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
  337. data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -0
  338. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  339. data/spec/slack/web/api/error_spec.rb +7 -7
  340. data/spec/slack/web/api/errors/slack_error_spec.rb +33 -0
  341. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  342. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  343. data/spec/slack/web/api/mixins/users_spec.rb +30 -17
  344. data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
  345. data/spec/slack/web/client_spec.rb +211 -14
  346. data/spec/slack/web/faraday/request_spec.rb +80 -0
  347. data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
  348. data/spec/spec_helper.rb +9 -2
  349. data/spec/support/queue_with_timeout.rb +6 -5
  350. data/spec/support/real_time/concurrency/mock.rb +2 -2
  351. data/spec/support/real_time/connected_client.rb +7 -2
  352. data/spec/support/real_time/event.rb +1 -0
  353. data/spec/support/token.rb +1 -0
  354. data/spec/support/vcr.rb +37 -1
  355. metadata +250 -130
  356. data/examples/hi_real_time/Gemfile +0 -5
  357. data/examples/hi_real_time/hi.gif +0 -0
  358. data/examples/hi_real_time/hi.rb +0 -37
  359. data/examples/hi_real_time_async/Gemfile +0 -5
  360. data/examples/hi_real_time_async/hi.rb +0 -29
  361. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
  362. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  363. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
  364. data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
  365. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  366. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  367. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  368. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  369. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  370. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  371. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  372. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
  373. data/screenshots/register-bot.png +0 -0
  374. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  375. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  376. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -35
  377. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
  378. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  379. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  380. data/spec/slack/web/api/endpoints/im_spec.rb +0 -30
  381. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
  382. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  383. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,26 +7,72 @@ module Slack
6
7
  module Endpoints
7
8
  module Users
8
9
  #
9
- # This method lets you find out information about a user's presence.
10
- # Consult the presence documentation for more details.
10
+ # List conversations the calling user may access.
11
+ #
12
+ # @option options [string] :cursor
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 [boolean] :exclude_archived
15
+ # Set to true to exclude archived channels from the list.
16
+ # @option options [number] :limit
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 [string] :team_id
19
+ # encoded team id to list conversations in, required if org token is used.
20
+ # @option options [string] :types
21
+ # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
22
+ # @option options [user] :user
23
+ # Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.
24
+ # @see https://api.slack.com/methods/users.conversations
25
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.conversations.json
26
+ def users_conversations(options = {})
27
+ options = options.merge(user: users_id(options)['user']['id']) if options[:user]
28
+ if block_given?
29
+ Pagination::Cursor.new(self, :users_conversations, options).each do |page|
30
+ yield page
31
+ end
32
+ else
33
+ post('users.conversations', options)
34
+ end
35
+ end
36
+
37
+ #
38
+ # Delete the user profile photo
39
+ #
40
+ # @see https://api.slack.com/methods/users.deletePhoto
41
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.deletePhoto.json
42
+ def users_deletePhoto(options = {})
43
+ post('users.deletePhoto', options)
44
+ end
45
+
46
+ #
47
+ # Gets user presence information.
11
48
  #
12
49
  # @option options [user] :user
13
50
  # User to get presence info on. Defaults to the authed user.
14
51
  # @see https://api.slack.com/methods/users.getPresence
15
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.getPresence.json
52
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.getPresence.json
16
53
  def users_getPresence(options = {})
17
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
18
54
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
19
55
  post('users.getPresence', options)
20
56
  end
21
57
 
22
58
  #
23
- # This method returns information about a team member.
59
+ # Get a user's identity.
60
+ #
61
+ # @see https://api.slack.com/methods/users.identity
62
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.identity.json
63
+ def users_identity(options = {})
64
+ post('users.identity', options)
65
+ end
66
+
67
+ #
68
+ # Gets information about a user.
24
69
  #
25
70
  # @option options [user] :user
26
71
  # User to get info on.
72
+ # @option options [boolean] :include_locale
73
+ # Set this to true to receive the locale for this user. Defaults to false.
27
74
  # @see https://api.slack.com/methods/users.info
28
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.info.json
75
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.info.json
29
76
  def users_info(options = {})
30
77
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
31
78
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
@@ -33,35 +80,73 @@ module Slack
33
80
  end
34
81
 
35
82
  #
36
- # This method returns a list of all users in the team. This includes deleted/deactivated users.
83
+ # Lists all users in a Slack team.
37
84
  #
38
- # @option options [Object] :presence
39
- # Whether to include presence data in the output.
85
+ # @option options [string] :cursor
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 [boolean] :include_locale
88
+ # Set this to true to receive the locale for users. Defaults to false.
89
+ # @option options [number] :limit
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 [string] :team_id
92
+ # encoded team id to list users in, required if org token is used.
40
93
  # @see https://api.slack.com/methods/users.list
41
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.list.json
94
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
42
95
  def users_list(options = {})
43
- post('users.list', options)
96
+ if block_given?
97
+ Pagination::Cursor.new(self, :users_list, options).each do |page|
98
+ yield page
99
+ end
100
+ else
101
+ post('users.list', options)
102
+ end
44
103
  end
45
104
 
46
105
  #
47
- # This method lets the slack messaging server know that the authenticated user
48
- # is currently active. Consult the presence documentation for
49
- # more details.
106
+ # Find a user with an email address.
107
+ #
108
+ # @option options [string] :email
109
+ # An email address belonging to a user in the workspace.
110
+ # @see https://api.slack.com/methods/users.lookupByEmail
111
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.lookupByEmail.json
112
+ def users_lookupByEmail(options = {})
113
+ throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
114
+ post('users.lookupByEmail', options)
115
+ end
116
+
117
+ #
118
+ # Marked a user as active. Deprecated and non-functional.
50
119
  #
51
120
  # @see https://api.slack.com/methods/users.setActive
52
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.setActive.json
121
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setActive.json
53
122
  def users_setActive(options = {})
54
123
  post('users.setActive', options)
55
124
  end
56
125
 
57
126
  #
58
- # This method lets you set the calling user's manual presence.
59
- # Consult the presence documentation for more details.
127
+ # Set the user profile photo
128
+ #
129
+ # @option options [string] :crop_w
130
+ # Width/height of crop box (always square).
131
+ # @option options [string] :crop_x
132
+ # X coordinate of top-left corner of crop box.
133
+ # @option options [string] :crop_y
134
+ # Y coordinate of top-left corner of crop box.
135
+ # @option options [string] :image
136
+ # File contents via multipart/form-data.
137
+ # @see https://api.slack.com/methods/users.setPhoto
138
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
139
+ def users_setPhoto(options = {})
140
+ post('users.setPhoto', options)
141
+ end
142
+
143
+ #
144
+ # Manually sets user presence.
60
145
  #
61
- # @option options [Object] :presence
146
+ # @option options [string] :presence
62
147
  # Either auto or away.
63
148
  # @see https://api.slack.com/methods/users.setPresence
64
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.setPresence.json
149
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPresence.json
65
150
  def users_setPresence(options = {})
66
151
  throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
67
152
  post('users.setPresence', options)
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module UsersAdmin
9
+ #
10
+ # Send an invitation to a new user by email (undocumented)
11
+ #
12
+ # @option options [Object] :email
13
+ # Email address of the new user
14
+ # @option options [Object] :channels
15
+ # Comma-separated list of IDs (not names!) for channels, which the new user will auto-join. Both channel IDs for public channels and group IDs for private chanels work.
16
+ # @option options [Object] :first_name
17
+ # Prefilled input for the "First name" field on the "new user registration" page.
18
+ # @option options [Object] :last_name
19
+ # Prefilled input for the "Last name" field on the "new user registration" page.
20
+ # @option options [Object] :resend
21
+ # Resend the invitation email if the user has already been invited and the email was sent some time ago.
22
+ # @option options [Object] :restricted
23
+ # Invite a guest that can use multiple channels
24
+ # @option options [Object] :ultra_restricted
25
+ # Invite a guest that can use one channel only
26
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/users.admin/users.admin.invite.json
27
+ def users_admin_invite(options = {})
28
+ throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
29
+ logger.warn('The users.admin.invite method is undocumented.')
30
+ post('users.admin.invite', options)
31
+ end
32
+
33
+ #
34
+ # Disable a user (undocumented)
35
+ #
36
+ # @option options [user] :user
37
+ # User to disable
38
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/users.admin/users.admin.setInactive.json
39
+ def users_admin_setInactive(options = {})
40
+ throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
41
+ options = options.merge(user: users_id(options)['user']['id']) if options[:user]
42
+ logger.warn('The users.admin.setInactive method is undocumented.')
43
+ post('users.admin.setInactive', options)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module UsersPrefs
9
+ #
10
+ # Returns the user's preferences (undocumented)
11
+ #
12
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/users.prefs/users.prefs.get.json
13
+ def users_prefs_get(options = {})
14
+ logger.warn('The users.prefs.get method is undocumented.')
15
+ post('users.prefs.get', options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module UsersProfile
9
+ #
10
+ # Retrieve a user's profile information, including their custom status.
11
+ #
12
+ # @option options [boolean] :include_labels
13
+ # Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended.
14
+ # @option options [user] :user
15
+ # User to retrieve profile info for.
16
+ # @see https://api.slack.com/methods/users.profile.get
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users.profile/users.profile.get.json
18
+ def users_profile_get(options = {})
19
+ options = options.merge(user: users_id(options)['user']['id']) if options[:user]
20
+ post('users.profile.get', options)
21
+ end
22
+
23
+ #
24
+ # Set a user's profile information, including custom status.
25
+ #
26
+ # @option options [string] :name
27
+ # Name of a single key to set. Usable only if profile is not passed.
28
+ # @option options [string] :profile
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
+ # @option options [user] :user
31
+ # ID of user to change. This argument may only be specified by team admins on paid teams.
32
+ # @option options [string] :value
33
+ # Value to set a single key to. Usable only if profile is not passed.
34
+ # @see https://api.slack.com/methods/users.profile.set
35
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users.profile/users.profile.set.json
36
+ def users_profile_set(options = {})
37
+ options = options.merge(user: users_id(options)['user']['id']) if options[:user]
38
+ post('users.profile.set', options)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module Views
9
+ #
10
+ # Open a view for a user.
11
+ #
12
+ # @option options [string] :trigger_id
13
+ # Exchange a trigger to post to the user.
14
+ # @option options [view as string] :view
15
+ # A view payload. This must be a JSON-encoded string.
16
+ # @see https://api.slack.com/methods/views.open
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.open.json
18
+ def views_open(options = {})
19
+ throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
20
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
21
+ if options.key?(:view)
22
+ view = options[:view]
23
+ view = JSON.dump(view) unless view.is_a?(String)
24
+ options = options.merge(view: view)
25
+ end
26
+ post('views.open', options)
27
+ end
28
+
29
+ #
30
+ # Publish a static view for a User.
31
+ #
32
+ # @option options [string] :user_id
33
+ # id of the user you want publish a view to.
34
+ # @option options [view as string] :view
35
+ # A view payload. This must be a JSON-encoded string.
36
+ # @option options [string] :hash
37
+ # A string that represents view state to protect against possible race conditions.
38
+ # @see https://api.slack.com/methods/views.publish
39
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.publish.json
40
+ def views_publish(options = {})
41
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
42
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
43
+ if options.key?(:view)
44
+ view = options[:view]
45
+ view = JSON.dump(view) unless view.is_a?(String)
46
+ options = options.merge(view: view)
47
+ end
48
+ post('views.publish', options)
49
+ end
50
+
51
+ #
52
+ # Push a view onto the stack of a root view.
53
+ #
54
+ # @option options [string] :trigger_id
55
+ # Exchange a trigger to post to the user.
56
+ # @option options [view as string] :view
57
+ # A view payload. This must be a JSON-encoded string.
58
+ # @see https://api.slack.com/methods/views.push
59
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.push.json
60
+ def views_push(options = {})
61
+ throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
62
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
63
+ if options.key?(:view)
64
+ view = options[:view]
65
+ view = JSON.dump(view) unless view.is_a?(String)
66
+ options = options.merge(view: view)
67
+ end
68
+ post('views.push', options)
69
+ end
70
+
71
+ #
72
+ # Update an existing view.
73
+ #
74
+ # @option options [view as string] :view
75
+ # A view object. This must be a JSON-encoded string.
76
+ # @option options [string] :external_id
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 [string] :view_id
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
+ # @see https://api.slack.com/methods/views.update
83
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.update.json
84
+ def views_update(options = {})
85
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
86
+ if options.key?(:view)
87
+ view = options[:view]
88
+ view = JSON.dump(view) unless view.is_a?(String)
89
+ options = options.merge(view: view)
90
+ end
91
+ post('views.update', options)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module Workflows
9
+ #
10
+ # Indicate that an app's step in a workflow completed execution.
11
+ #
12
+ # @option options [string] :workflow_step_execute_id
13
+ # Context identifier that maps to the correct workflow step execution.
14
+ # @option options [object] :outputs
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
+ # @see https://api.slack.com/methods/workflows.stepCompleted
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepCompleted.json
18
+ def workflows_stepCompleted(options = {})
19
+ throw ArgumentError.new('Required arguments :workflow_step_execute_id missing') if options[:workflow_step_execute_id].nil?
20
+ post('workflows.stepCompleted', options)
21
+ end
22
+
23
+ #
24
+ # Indicate that an app's step in a workflow failed to execute.
25
+ #
26
+ # @option options [object] :error
27
+ # A JSON-based object with a message property that should contain a human readable error message.
28
+ # @option options [string] :workflow_step_execute_id
29
+ # Context identifier that maps to the correct workflow step execution.
30
+ # @see https://api.slack.com/methods/workflows.stepFailed
31
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepFailed.json
32
+ def workflows_stepFailed(options = {})
33
+ throw ArgumentError.new('Required arguments :error missing') if options[:error].nil?
34
+ throw ArgumentError.new('Required arguments :workflow_step_execute_id missing') if options[:workflow_step_execute_id].nil?
35
+ post('workflows.stepFailed', options)
36
+ end
37
+
38
+ #
39
+ # Update the configuration for a workflow step.
40
+ #
41
+ # @option options [string] :workflow_step_edit_id
42
+ # A context identifier provided with view_submission payloads used to call back to workflows.updateStep.
43
+ # @option options [object] :inputs
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 [array] :outputs
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 [string] :step_image_url
48
+ # An optional field that can be used to override app image that is shown in the Workflow Builder.
49
+ # @option options [string] :step_name
50
+ # An optional field that can be used to override the step name that is shown in the Workflow Builder.
51
+ # @see https://api.slack.com/methods/workflows.updateStep
52
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.updateStep.json
53
+ def workflows_updateStep(options = {})
54
+ throw ArgumentError.new('Required arguments :workflow_step_edit_id missing') if options[:workflow_step_edit_id].nil?
55
+ post('workflows.updateStep', options)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -1,48 +1,121 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
- require 'slack/web/api/endpoints/api'
4
- require 'slack/web/api/endpoints/auth'
5
- require 'slack/web/api/endpoints/channels'
6
- require 'slack/web/api/endpoints/chat'
7
- require 'slack/web/api/endpoints/dnd'
8
- require 'slack/web/api/endpoints/emoji'
9
- require 'slack/web/api/endpoints/files_comments'
10
- require 'slack/web/api/endpoints/files'
11
- require 'slack/web/api/endpoints/groups'
12
- require 'slack/web/api/endpoints/im'
13
- require 'slack/web/api/endpoints/mpim'
14
- require 'slack/web/api/endpoints/oauth'
15
- require 'slack/web/api/endpoints/pins'
16
- require 'slack/web/api/endpoints/reactions'
17
- require 'slack/web/api/endpoints/reminders'
18
- require 'slack/web/api/endpoints/rtm'
19
- require 'slack/web/api/endpoints/search'
20
- require 'slack/web/api/endpoints/stars'
21
- require 'slack/web/api/endpoints/team'
22
- require 'slack/web/api/endpoints/usergroups'
23
- require 'slack/web/api/endpoints/usergroups_users'
24
- require 'slack/web/api/endpoints/users'
4
+ require_relative 'endpoints/admin_analytics'
5
+ require_relative 'endpoints/admin_apps'
6
+ require_relative 'endpoints/admin_apps_approved'
7
+ require_relative 'endpoints/admin_apps_requests'
8
+ require_relative 'endpoints/admin_apps_restricted'
9
+ require_relative 'endpoints/admin_auth_policy'
10
+ require_relative 'endpoints/admin_barriers'
11
+ require_relative 'endpoints/admin_conversations'
12
+ require_relative 'endpoints/admin_conversations_ekm'
13
+ require_relative 'endpoints/admin_conversations_restrictAccess'
14
+ require_relative 'endpoints/admin_emoji'
15
+ require_relative 'endpoints/admin_inviteRequests'
16
+ require_relative 'endpoints/admin_inviteRequests_approved'
17
+ require_relative 'endpoints/admin_inviteRequests_denied'
18
+ require_relative 'endpoints/admin_teams'
19
+ require_relative 'endpoints/admin_teams_admins'
20
+ require_relative 'endpoints/admin_teams_owners'
21
+ require_relative 'endpoints/admin_teams_settings'
22
+ require_relative 'endpoints/admin_usergroups'
23
+ require_relative 'endpoints/admin_users'
24
+ require_relative 'endpoints/admin_users_session'
25
+ require_relative 'endpoints/api'
26
+ require_relative 'endpoints/apps'
27
+ require_relative 'endpoints/apps_connections'
28
+ require_relative 'endpoints/apps_event_authorizations'
29
+ require_relative 'endpoints/apps_manifest'
30
+ require_relative 'endpoints/auth'
31
+ require_relative 'endpoints/auth_teams'
32
+ require_relative 'endpoints/bots'
33
+ require_relative 'endpoints/calls'
34
+ require_relative 'endpoints/calls_participants'
35
+ require_relative 'endpoints/chat'
36
+ require_relative 'endpoints/chat_scheduledMessages'
37
+ require_relative 'endpoints/conversations'
38
+ require_relative 'endpoints/dialog'
39
+ require_relative 'endpoints/dnd'
40
+ require_relative 'endpoints/emoji'
41
+ require_relative 'endpoints/files'
42
+ require_relative 'endpoints/files_comments'
43
+ require_relative 'endpoints/files_remote'
44
+ require_relative 'endpoints/migration'
45
+ require_relative 'endpoints/oauth'
46
+ require_relative 'endpoints/oauth_v2'
47
+ require_relative 'endpoints/openid_connect'
48
+ require_relative 'endpoints/pins'
49
+ require_relative 'endpoints/reactions'
50
+ require_relative 'endpoints/reminders'
51
+ require_relative 'endpoints/rtm'
52
+ require_relative 'endpoints/search'
53
+ require_relative 'endpoints/stars'
54
+ require_relative 'endpoints/team'
55
+ require_relative 'endpoints/team_billing'
56
+ require_relative 'endpoints/team_preferences'
57
+ require_relative 'endpoints/team_profile'
58
+ require_relative 'endpoints/tooling_tokens'
59
+ require_relative 'endpoints/usergroups'
60
+ require_relative 'endpoints/usergroups_users'
61
+ require_relative 'endpoints/users'
62
+ require_relative 'endpoints/users_admin'
63
+ require_relative 'endpoints/users_prefs'
64
+ require_relative 'endpoints/users_profile'
65
+ require_relative 'endpoints/views'
66
+ require_relative 'endpoints/workflows'
25
67
 
26
68
  module Slack
27
69
  module Web
28
70
  module Api
29
71
  module Endpoints
30
- include Slack::Web::Api::Mixins::Channels
72
+ include Slack::Web::Api::Mixins::Conversations
31
73
  include Slack::Web::Api::Mixins::Users
32
- include Slack::Web::Api::Mixins::Groups
33
74
 
75
+ include AdminAnalytics
76
+ include AdminApps
77
+ include AdminAppsApproved
78
+ include AdminAppsRequests
79
+ include AdminAppsRestricted
80
+ include AdminAuthPolicy
81
+ include AdminBarriers
82
+ include AdminConversations
83
+ include AdminConversationsEkm
84
+ include AdminConversationsRestrictaccess
85
+ include AdminEmoji
86
+ include AdminInviterequests
87
+ include AdminInviterequestsApproved
88
+ include AdminInviterequestsDenied
89
+ include AdminTeams
90
+ include AdminTeamsAdmins
91
+ include AdminTeamsOwners
92
+ include AdminTeamsSettings
93
+ include AdminUsergroups
94
+ include AdminUsers
95
+ include AdminUsersSession
34
96
  include Api
97
+ include Apps
98
+ include AppsConnections
99
+ include AppsEventAuthorizations
100
+ include AppsManifest
35
101
  include Auth
36
- include Channels
102
+ include AuthTeams
103
+ include Bots
104
+ include Calls
105
+ include CallsParticipants
37
106
  include Chat
107
+ include ChatScheduledmessages
108
+ include Conversations
109
+ include Dialog
38
110
  include Dnd
39
111
  include Emoji
40
- include FilesComments
41
112
  include Files
42
- include Groups
43
- include Im
44
- include Mpim
113
+ include FilesComments
114
+ include FilesRemote
115
+ include Migration
45
116
  include Oauth
117
+ include OauthV2
118
+ include OpenidConnect
46
119
  include Pins
47
120
  include Reactions
48
121
  include Reminders
@@ -50,9 +123,18 @@ module Slack
50
123
  include Search
51
124
  include Stars
52
125
  include Team
126
+ include TeamBilling
127
+ include TeamPreferences
128
+ include TeamProfile
129
+ include ToolingTokens
53
130
  include Usergroups
54
131
  include UsergroupsUsers
55
132
  include Users
133
+ include UsersAdmin
134
+ include UsersPrefs
135
+ include UsersProfile
136
+ include Views
137
+ include Workflows
56
138
  end
57
139
  end
58
140
  end
@@ -1,14 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module Web
3
4
  module Api
4
- class Error < ::Faraday::Error
5
- attr_reader :response
6
-
7
- def initialize(message, response = nil)
8
- @response = response
9
- super message
10
- end
11
- end
5
+ Error = Errors::SlackError
12
6
  end
13
7
  end
14
8
  end