slack-ruby-client 0.11.0 → 2.7.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 (403) hide show
  1. checksums.yaml +5 -5
  2. data/.coveralls.yml +2 -0
  3. data/.github/FUNDING.yml +2 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/integration_test.yml +45 -0
  6. data/.github/workflows/lint.yml +14 -0
  7. data/.github/workflows/pr_lint.yml +21 -0
  8. data/.github/workflows/test.yml +56 -0
  9. data/.github/workflows/update_api.yml +81 -0
  10. data/.gitignore +7 -3
  11. data/.rubocop.yml +40 -2
  12. data/.rubocop_todo.yml +209 -55
  13. data/.ruby-version +1 -0
  14. data/CHANGELOG.md +257 -30
  15. data/CONTRIBUTING.md +44 -29
  16. data/Dangerfile +2 -0
  17. data/Gemfile +28 -6
  18. data/Gemfile.danger +6 -0
  19. data/LICENSE.md +1 -1
  20. data/README.md +473 -134
  21. data/RELEASING.md +2 -2
  22. data/Rakefile +2 -1
  23. data/SECURITY.md +9 -0
  24. data/UPGRADING.md +117 -3
  25. data/bin/commands/admin_analytics.rb +22 -0
  26. data/bin/commands/admin_apps.rb +57 -0
  27. data/bin/commands/admin_apps_activities.rb +32 -0
  28. data/bin/commands/admin_apps_approved.rb +24 -0
  29. data/bin/commands/admin_apps_config.rb +31 -0
  30. data/bin/commands/admin_apps_requests.rb +35 -0
  31. data/bin/commands/admin_apps_restricted.rb +24 -0
  32. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  33. data/bin/commands/admin_auth_policy.rb +45 -0
  34. data/bin/commands/admin_barriers.rb +53 -0
  35. data/bin/commands/admin_conversations.rb +260 -0
  36. data/bin/commands/admin_conversations_ekm.rb +23 -0
  37. data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
  38. data/bin/commands/admin_emoji.rb +60 -0
  39. data/bin/commands/admin_functions.rb +23 -0
  40. data/bin/commands/admin_functions_permissions.rb +31 -0
  41. data/bin/commands/admin_inviteRequests.rb +42 -0
  42. data/bin/commands/admin_inviteRequests_approved.rb +22 -0
  43. data/bin/commands/admin_inviteRequests_denied.rb +22 -0
  44. data/bin/commands/admin_roles.rb +46 -0
  45. data/bin/commands/admin_teams.rb +33 -0
  46. data/bin/commands/admin_teams_admins.rb +22 -0
  47. data/bin/commands/admin_teams_owners.rb +22 -0
  48. data/bin/commands/admin_teams_settings.rb +70 -0
  49. data/bin/commands/admin_usergroups.rb +54 -0
  50. data/bin/commands/admin_users.rb +106 -0
  51. data/bin/commands/admin_users_session.rb +84 -0
  52. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  53. data/bin/commands/admin_workflows.rb +42 -0
  54. data/bin/commands/admin_workflows_collaborators.rb +31 -0
  55. data/bin/commands/admin_workflows_permissions.rb +21 -0
  56. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  57. data/bin/commands/api.rb +15 -9
  58. data/bin/commands/apps.rb +21 -0
  59. data/bin/commands/apps_activities.rb +32 -0
  60. data/bin/commands/apps_auth_external.rb +32 -0
  61. data/bin/commands/apps_connections.rb +19 -0
  62. data/bin/commands/apps_datastore.rb +116 -0
  63. data/bin/commands/apps_event_authorizations.rb +22 -0
  64. data/bin/commands/apps_manifest.rb +58 -0
  65. data/bin/commands/assistant_search.rb +27 -0
  66. data/bin/commands/assistant_threads.rb +45 -0
  67. data/bin/commands/auth.rb +22 -15
  68. data/bin/commands/auth_teams.rb +22 -0
  69. data/bin/commands/bookmarks.rb +60 -0
  70. data/bin/commands/bots.rb +16 -8
  71. data/bin/commands/calls.rb +58 -0
  72. data/bin/commands/calls_participants.rb +31 -0
  73. data/bin/commands/canvases.rb +41 -0
  74. data/bin/commands/canvases_access.rb +34 -0
  75. data/bin/commands/canvases_sections.rb +21 -0
  76. data/bin/commands/chat.rb +158 -99
  77. data/bin/commands/chat_scheduledMessages.rb +25 -0
  78. data/bin/commands/conversations.rb +241 -157
  79. data/bin/commands/conversations_canvases.rb +22 -0
  80. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  81. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  82. data/bin/commands/dialog.rb +16 -9
  83. data/bin/commands/dnd.rb +47 -38
  84. data/bin/commands/emoji.rb +15 -7
  85. data/bin/commands/files.rb +113 -87
  86. data/bin/commands/files_comments.rb +16 -30
  87. data/bin/commands/files_remote.rb +84 -0
  88. data/bin/commands/functions.rb +31 -0
  89. data/bin/commands/functions_distributions_permissions.rb +61 -0
  90. data/bin/commands/functions_workflows_steps.rb +23 -0
  91. data/bin/commands/functions_workflows_steps_responses.rb +23 -0
  92. data/bin/commands/migration.rb +17 -9
  93. data/bin/commands/oauth.rb +19 -24
  94. data/bin/commands/oauth_v2.rb +35 -0
  95. data/bin/commands/openid_connect.rb +33 -0
  96. data/bin/commands/pins.rb +33 -30
  97. data/bin/commands/reactions.rb +53 -45
  98. data/bin/commands/reminders.rb +54 -41
  99. data/bin/commands/rtm.rb +16 -22
  100. data/bin/commands/search.rb +44 -33
  101. data/bin/commands/stars.rb +39 -29
  102. data/bin/commands/team.rb +50 -34
  103. data/bin/commands/team_billing.rb +19 -0
  104. data/bin/commands/team_externalTeams.rb +35 -0
  105. data/bin/commands/team_preferences.rb +19 -0
  106. data/bin/commands/team_profile.rb +15 -8
  107. data/bin/commands/tooling_tokens.rb +20 -0
  108. data/bin/commands/usergroups.rb +69 -53
  109. data/bin/commands/usergroups_users.rb +30 -19
  110. data/bin/commands/users.rb +114 -84
  111. data/bin/commands/users_admin.rb +29 -22
  112. data/bin/commands/users_discoverableContacts.rb +20 -0
  113. data/bin/commands/users_prefs.rb +14 -7
  114. data/bin/commands/users_profile.rb +27 -20
  115. data/bin/commands/views.rb +56 -0
  116. data/bin/commands/workflows.rb +44 -0
  117. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  118. data/bin/slack +50 -46
  119. data/examples/files_upload_v2/.env.example +1 -0
  120. data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
  121. data/examples/files_upload_v2/README.md +13 -0
  122. data/examples/files_upload_v2/files_upload_v2.rb +45 -0
  123. data/examples/hi_real_time_and_web/Gemfile +1 -0
  124. data/examples/hi_real_time_and_web/hi.rb +7 -3
  125. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  126. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
  127. data/examples/hi_web/Gemfile +1 -0
  128. data/examples/hi_web/hi.rb +1 -0
  129. data/examples/new_ticket/Gemfile +1 -0
  130. data/examples/new_ticket/new_ticket.rb +1 -0
  131. data/examples/oauth_v2/.env.example +4 -0
  132. data/examples/oauth_v2/Gemfile +7 -0
  133. data/examples/oauth_v2/README.md +33 -0
  134. data/examples/oauth_v2/oauth_v2.rb +60 -0
  135. data/lib/slack/config.rb +2 -2
  136. data/lib/slack/events/config.rb +32 -0
  137. data/lib/slack/events/request.rb +76 -0
  138. data/lib/slack/logger.rb +6 -5
  139. data/lib/slack/messages/formatting.rb +66 -1
  140. data/lib/slack/messages/message.rb +1 -4
  141. data/lib/slack/real_time/api/message.rb +6 -3
  142. data/lib/slack/real_time/api/message_id.rb +1 -0
  143. data/lib/slack/real_time/api/ping.rb +5 -2
  144. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  145. data/lib/slack/real_time/api/typing.rb +5 -2
  146. data/lib/slack/real_time/client.rb +117 -54
  147. data/lib/slack/real_time/concurrency/async.rb +142 -0
  148. data/lib/slack/real_time/concurrency.rb +2 -2
  149. data/lib/slack/real_time/config.rb +12 -13
  150. data/lib/slack/real_time/models/base.rb +1 -4
  151. data/lib/slack/real_time/models/bot.rb +1 -0
  152. data/lib/slack/real_time/models/channel.rb +5 -0
  153. data/lib/slack/real_time/models/im.rb +1 -0
  154. data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
  155. data/lib/slack/real_time/models/team.rb +1 -0
  156. data/lib/slack/real_time/models/user.rb +1 -0
  157. data/lib/slack/real_time/models.rb +3 -1
  158. data/lib/slack/real_time/socket.rb +49 -17
  159. data/lib/slack/real_time/stores/base.rb +28 -14
  160. data/lib/slack/real_time/stores/starter.rb +325 -287
  161. data/lib/slack/real_time/stores/store.rb +271 -186
  162. data/lib/slack/real_time/stores.rb +2 -7
  163. data/lib/slack/utils/security.rb +44 -0
  164. data/lib/slack/version.rb +2 -1
  165. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  166. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +53 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
  169. data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
  170. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
  171. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
  172. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  173. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  174. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  175. data/lib/slack/web/api/endpoints/admin_conversations.rb +397 -0
  176. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  177. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  178. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  179. data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
  180. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -0
  181. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  182. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  183. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  184. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  185. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  186. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  187. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  188. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  189. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  190. data/lib/slack/web/api/endpoints/admin_users.rb +167 -0
  191. data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
  192. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
  194. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
  195. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
  196. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  197. data/lib/slack/web/api/endpoints/api.rb +2 -3
  198. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  199. data/lib/slack/web/api/endpoints/apps_activities.rb +54 -0
  200. data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
  201. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  202. data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
  203. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
  205. data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
  206. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  207. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  208. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  209. data/lib/slack/web/api/endpoints/bookmarks.rb +90 -0
  210. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  211. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  212. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  213. data/lib/slack/web/api/endpoints/canvases.rb +54 -0
  214. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  215. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  216. data/lib/slack/web/api/endpoints/chat.rb +172 -87
  217. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  218. data/lib/slack/web/api/endpoints/conversations.rb +190 -64
  219. data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
  220. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  221. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  222. data/lib/slack/web/api/endpoints/dialog.rb +6 -10
  223. data/lib/slack/web/api/endpoints/dnd.rb +11 -5
  224. data/lib/slack/web/api/endpoints/emoji.rb +3 -0
  225. data/lib/slack/web/api/endpoints/files.rb +85 -36
  226. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  227. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  228. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  229. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
  230. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
  231. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
  232. data/lib/slack/web/api/endpoints/migration.rb +6 -3
  233. data/lib/slack/web/api/endpoints/oauth.rb +10 -32
  234. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  235. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  236. data/lib/slack/web/api/endpoints/pins.rb +11 -18
  237. data/lib/slack/web/api/endpoints/reactions.rb +31 -20
  238. data/lib/slack/web/api/endpoints/reminders.rb +25 -12
  239. data/lib/slack/web/api/endpoints/rtm.rb +4 -22
  240. data/lib/slack/web/api/endpoints/search.rb +33 -18
  241. data/lib/slack/web/api/endpoints/stars.rb +23 -10
  242. data/lib/slack/web/api/endpoints/team.rb +38 -7
  243. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  244. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  245. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  246. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  247. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  248. data/lib/slack/web/api/endpoints/usergroups.rb +44 -25
  249. data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
  250. data/lib/slack/web/api/endpoints/users.rb +57 -18
  251. data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
  252. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  253. data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
  254. data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
  255. data/lib/slack/web/api/endpoints/views.rb +86 -0
  256. data/lib/slack/web/api/endpoints/workflows.rb +63 -0
  257. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  258. data/lib/slack/web/api/endpoints.rb +136 -12
  259. data/lib/slack/web/api/error.rb +1 -0
  260. data/lib/slack/web/api/errors/server_error.rb +37 -0
  261. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  262. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  263. data/lib/slack/web/api/errors.rb +1396 -0
  264. data/lib/slack/web/api/helpers/files.rb +97 -0
  265. data/lib/slack/web/api/helpers.rb +13 -0
  266. data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
  267. data/lib/slack/web/api/mixins/ids.id.rb +4 -3
  268. data/lib/slack/web/api/mixins/users.id.rb +18 -4
  269. data/lib/slack/web/api/mixins/users.search.rb +3 -1
  270. data/lib/slack/web/api/mixins.rb +2 -2
  271. data/lib/slack/web/api/options.rb +26 -0
  272. data/lib/slack/web/api/patches/.gitkeep +0 -0
  273. data/lib/slack/web/api/templates/command.erb +19 -12
  274. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  275. data/lib/slack/web/api/templates/errors.erb +20 -0
  276. data/lib/slack/web/api/templates/method.erb +23 -3
  277. data/lib/slack/web/api/templates/method_spec.erb +40 -3
  278. data/lib/slack/web/client.rb +4 -1
  279. data/lib/slack/web/config.rb +9 -2
  280. data/lib/slack/web/faraday/connection.rb +11 -20
  281. data/lib/slack/web/faraday/options.rb +24 -0
  282. data/lib/slack/web/faraday/request.rb +6 -1
  283. data/lib/slack/web/faraday/response/raise_error.rb +14 -8
  284. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  285. data/lib/slack/web/pagination/cursor.rb +7 -7
  286. data/lib/slack-ruby-client.rb +18 -6
  287. data/lib/slack.rb +1 -0
  288. data/lib/slack_ruby_client.rb +1 -0
  289. data/lib/tasks/git.rake +1 -0
  290. data/lib/tasks/real_time.rake +51 -21
  291. data/lib/tasks/update.rake +1 -0
  292. data/lib/tasks/web.rake +43 -17
  293. data/slack-ruby-client.gemspec +10 -14
  294. metadata +191 -307
  295. data/.travis.yml +0 -30
  296. data/bin/commands/apps_permissions.rb +0 -22
  297. data/bin/commands/channels.rb +0 -175
  298. data/bin/commands/groups.rb +0 -172
  299. data/bin/commands/im.rb +0 -67
  300. data/bin/commands/mpim.rb +0 -63
  301. data/bin/commands.rb +0 -33
  302. data/examples/hi_real_time/hi.gif +0 -0
  303. data/examples/hi_real_time/hi.rb +0 -37
  304. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  305. data/examples/hi_real_time_async_celluloid/hi.rb +0 -36
  306. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  307. data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
  308. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  309. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
  310. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  311. data/lib/slack/web/api/endpoints/groups.rb +0 -255
  312. data/lib/slack/web/api/endpoints/im.rb +0 -113
  313. data/lib/slack/web/api/endpoints/mpim.rb +0 -98
  314. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  315. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  316. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  317. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  318. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  319. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  320. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  322. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  323. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +0 -17
  324. data/lib/slack/web/api/templates/commands.erb +0 -5
  325. data/screenshots/register-bot.png +0 -0
  326. data/spec/fixtures/slack/web/429_error.yml +0 -85
  327. data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
  328. data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
  329. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  330. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  331. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
  332. data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
  333. data/spec/fixtures/slack/web/rtm_start.yml +0 -104
  334. data/spec/fixtures/slack/web/users_info.yml +0 -130
  335. data/spec/fixtures/slack/web/users_list.yml +0 -72
  336. data/spec/integration/integration_spec.rb +0 -139
  337. data/spec/slack/config_spec.rb +0 -14
  338. data/spec/slack/messages/formatting_spec.rb +0 -43
  339. data/spec/slack/real_time/api/message_spec.rb +0 -15
  340. data/spec/slack/real_time/api/ping_spec.rb +0 -15
  341. data/spec/slack/real_time/api/typing_spec.rb +0 -15
  342. data/spec/slack/real_time/client_spec.rb +0 -425
  343. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
  344. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  345. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
  346. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
  347. data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
  348. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
  349. data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
  350. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
  351. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
  352. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
  353. data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
  354. data/spec/slack/real_time/rtm_start_spec.rb +0 -13
  355. data/spec/slack/real_time/store_spec.rb +0 -11
  356. data/spec/slack/slack_spec.rb +0 -58
  357. data/spec/slack/version_spec.rb +0 -7
  358. data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
  359. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  360. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
  361. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  362. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
  363. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  364. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
  365. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
  366. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  367. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
  368. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
  369. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
  370. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
  371. data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
  372. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  373. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
  374. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  375. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
  376. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
  377. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
  378. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
  379. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
  380. data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
  381. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
  382. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
  383. data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
  384. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
  385. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
  386. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
  387. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
  388. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
  389. data/spec/slack/web/api/error_spec.rb +0 -14
  390. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
  391. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  392. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
  393. data/spec/slack/web/api/mixins/users_spec.rb +0 -39
  394. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
  395. data/spec/slack/web/client_spec.rb +0 -174
  396. data/spec/spec_helper.rb +0 -14
  397. data/spec/support/queue_with_timeout.rb +0 -34
  398. data/spec/support/real_time/concurrency/mock.rb +0 -30
  399. data/spec/support/real_time/connected_client.rb +0 -21
  400. data/spec/support/real_time/event.rb +0 -11
  401. data/spec/support/token.rb +0 -10
  402. data/spec/support/vcr.rb +0 -9
  403. /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
@@ -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
@@ -8,14 +9,16 @@ module Slack
8
9
  #
9
10
  # For Enterprise Grid workspaces, map local user IDs to global user IDs
10
11
  #
11
- # @option options [Object] :users
12
+ # @option options [array] :users
12
13
  # A comma-separated list of user ids, up to 400 per request.
13
- # @option options [Object] :to_old
14
+ # @option options [string] :team_id
15
+ # Specify team_id starts with T in case of Org Token.
16
+ # @option options [boolean] :to_old
14
17
  # Specify true to convert W global user IDs to workspace-specific U IDs. Defaults to false.
15
18
  # @see https://api.slack.com/methods/migration.exchange
16
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/migration/migration.exchange.json
17
20
  def migration_exchange(options = {})
18
- throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
21
+ raise ArgumentError, 'Required arguments :users missing' if options[:users].nil?
19
22
  post('migration.exchange', options)
20
23
  end
21
24
  end
@@ -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,46 +7,23 @@ module Slack
6
7
  module Endpoints
7
8
  module Oauth
8
9
  #
9
- # Exchanges a temporary OAuth code for an API token.
10
+ # Exchanges a temporary OAuth verifier code for an access token.
10
11
  #
11
- # @option options [Object] :client_id
12
- # Issued when you created your application.
13
- # @option options [Object] :client_secret
14
- # Issued when you created your application.
15
- # @option options [Object] :code
12
+ # @option options [string] :client_id
13
+ # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.
14
+ # @option options [string] :client_secret
15
+ # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.
16
+ # @option options [string] :code
16
17
  # The code param returned via the OAuth callback.
17
- # @option options [Object] :redirect_uri
18
+ # @option options [string] :redirect_uri
18
19
  # This must match the originally submitted URI (if one was sent).
20
+ # @option options [boolean] :single_channel
21
+ # Request the user to add your app only to a single channel. Only valid with a legacy workspace app.
19
22
  # @see https://api.slack.com/methods/oauth.access
20
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.access.json
21
24
  def oauth_access(options = {})
22
- throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
23
- throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
24
- throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
25
25
  post('oauth.access', options)
26
26
  end
27
-
28
- #
29
- # Exchanges a temporary OAuth verifier code for a workspace token.
30
- #
31
- # @option options [Object] :client_id
32
- # Issued when you created your application.
33
- # @option options [Object] :client_secret
34
- # Issued when you created your application.
35
- # @option options [Object] :code
36
- # The code param returned via the OAuth callback.
37
- # @option options [Object] :redirect_uri
38
- # This must match the originally submitted URI (if one was sent).
39
- # @option options [Object] :single_channel
40
- # Request the user to add your app only to a single channel.
41
- # @see https://api.slack.com/methods/oauth.token
42
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.token.json
43
- def oauth_token(options = {})
44
- throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
45
- throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
46
- throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
47
- post('oauth.token', options)
48
- end
49
27
  end
50
28
  end
51
29
  end
@@ -0,0 +1,48 @@
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 OauthV2
9
+ #
10
+ # Exchanges a temporary OAuth verifier code for an access token.
11
+ #
12
+ # @option options [string] :client_id
13
+ # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.
14
+ # @option options [string] :client_secret
15
+ # Issued when you created your application. If possible, avoid sending client_id and client_secret as parameters in your request and instead supply the Client ID and Client Secret using the HTTP Basic authentication scheme.
16
+ # @option options [string] :code
17
+ # The code param returned via the OAuth callback.
18
+ # @option options [string] :grant_type
19
+ # The grant_type param as described in the OAuth spec.
20
+ # @option options [string] :redirect_uri
21
+ # This must match the originally submitted URI (if one was sent).
22
+ # @option options [string] :refresh_token
23
+ # The refresh_token param as described in the OAuth spec.
24
+ # @see https://api.slack.com/methods/oauth.v2.access
25
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
26
+ def oauth_v2_access(options = {})
27
+ post('oauth.v2.access', options)
28
+ end
29
+
30
+ #
31
+ # Exchanges a legacy access token for a new expiring access token and refresh token
32
+ #
33
+ # @option options [string] :client_id
34
+ # Issued when you created your application.
35
+ # @option options [string] :client_secret
36
+ # Issued when you created your application.
37
+ # @see https://api.slack.com/methods/oauth.v2.exchange
38
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.exchange.json
39
+ def oauth_v2_exchange(options = {})
40
+ raise ArgumentError, 'Required arguments :client_id missing' if options[:client_id].nil?
41
+ raise ArgumentError, 'Required arguments :client_secret missing' if options[:client_secret].nil?
42
+ post('oauth.v2.exchange', options)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,42 @@
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 OpenidConnect
9
+ #
10
+ # Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.
11
+ #
12
+ # @option options [string] :client_id
13
+ # Issued when you created your application.
14
+ # @option options [string] :client_secret
15
+ # Issued when you created your application.
16
+ # @option options [string] :code
17
+ # The code param returned via the OAuth callback.
18
+ # @option options [enum] :grant_type
19
+ # The grant_type param as described in the OAuth spec.
20
+ # @option options [string] :redirect_uri
21
+ # This must match the originally submitted URI (if one was sent).
22
+ # @option options [string] :refresh_token
23
+ # The refresh_token param as described in the OAuth spec.
24
+ # @see https://api.slack.com/methods/openid.connect.token
25
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.token.json
26
+ def openid_connect_token(options = {})
27
+ post('openid.connect.token', options)
28
+ end
29
+
30
+ #
31
+ # Get the identity of a user who has authorized Sign in with Slack.
32
+ #
33
+ # @see https://api.slack.com/methods/openid.connect.userInfo
34
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.userInfo.json
35
+ def openid_connect_userInfo(options = {})
36
+ post('openid.connect.userInfo', options)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -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
@@ -9,18 +10,14 @@ module Slack
9
10
  # Pins an item to a channel.
10
11
  #
11
12
  # @option options [channel] :channel
12
- # Channel to pin the item in.
13
- # @option options [file] :file
14
- # File to pin.
15
- # @option options [Object] :file_comment
16
- # File comment to pin.
17
- # @option options [Object] :timestamp
18
- # Timestamp of the message to pin.
13
+ # Channel to pin the messsage to. You must also include a timestamp when pinning messages.
14
+ # @option options [string] :timestamp
15
+ # Timestamp of the message to pin. You must also include the channel.
19
16
  # @see https://api.slack.com/methods/pins.add
20
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.add.json
21
18
  def pins_add(options = {})
22
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
23
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
19
+ raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
20
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
24
21
  post('pins.add', options)
25
22
  end
26
23
 
@@ -32,8 +29,8 @@ module Slack
32
29
  # @see https://api.slack.com/methods/pins.list
33
30
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.list.json
34
31
  def pins_list(options = {})
35
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
36
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
32
+ raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
33
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
37
34
  post('pins.list', options)
38
35
  end
39
36
 
@@ -42,17 +39,13 @@ module Slack
42
39
  #
43
40
  # @option options [channel] :channel
44
41
  # Channel where the item is pinned to.
45
- # @option options [file] :file
46
- # File to un-pin.
47
- # @option options [Object] :file_comment
48
- # File comment to un-pin.
49
- # @option options [Object] :timestamp
42
+ # @option options [string] :timestamp
50
43
  # Timestamp of the message to un-pin.
51
44
  # @see https://api.slack.com/methods/pins.remove
52
45
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.remove.json
53
46
  def pins_remove(options = {})
54
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
55
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
47
+ raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
48
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
56
49
  post('pins.remove', options)
57
50
  end
58
51
  end
@@ -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
@@ -8,21 +9,19 @@ module Slack
8
9
  #
9
10
  # Adds a reaction to an item.
10
11
  #
11
- # @option options [Object] :name
12
- # Reaction (emoji) name.
13
12
  # @option options [channel] :channel
14
13
  # Channel where the message to add reaction to was posted.
15
- # @option options [file] :file
16
- # File to add reaction to.
17
- # @option options [Object] :file_comment
18
- # File comment to add reaction to.
19
- # @option options [Object] :timestamp
14
+ # @option options [string] :name
15
+ # Reaction (emoji) name.
16
+ # @option options [string] :timestamp
20
17
  # Timestamp of the message to add reaction to.
21
18
  # @see https://api.slack.com/methods/reactions.add
22
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.add.json
23
20
  def reactions_add(options = {})
24
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
25
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
21
+ raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
22
+ raise ArgumentError, 'Required arguments :name missing' if options[:name].nil?
23
+ raise ArgumentError, 'Required arguments :timestamp missing' if options[:timestamp].nil?
24
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
26
25
  post('reactions.add', options)
27
26
  end
28
27
 
@@ -33,51 +32,63 @@ module Slack
33
32
  # Channel where the message to get reactions for was posted.
34
33
  # @option options [file] :file
35
34
  # File to get reactions for.
36
- # @option options [Object] :file_comment
35
+ # @option options [string] :file_comment
37
36
  # File comment to get reactions for.
38
- # @option options [Object] :full
37
+ # @option options [boolean] :full
39
38
  # If true always return the complete reaction list.
40
- # @option options [Object] :timestamp
39
+ # @option options [string] :timestamp
41
40
  # Timestamp of the message to get reactions for.
42
41
  # @see https://api.slack.com/methods/reactions.get
43
42
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.get.json
44
43
  def reactions_get(options = {})
45
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
44
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
46
45
  post('reactions.get', options)
47
46
  end
48
47
 
49
48
  #
50
49
  # Lists reactions made by a user.
51
50
  #
52
- # @option options [Object] :full
51
+ # @option options [string] :cursor
52
+ # Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection. See pagination for more details.
53
+ # @option options [boolean] :full
53
54
  # If true always return the complete reaction list.
55
+ # @option options [integer] :limit
56
+ # 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.
57
+ # @option options [string] :team_id
58
+ # encoded team id to list reactions in, required if org token is used.
54
59
  # @option options [user] :user
55
60
  # Show reactions made by this user. Defaults to the authed user.
56
61
  # @see https://api.slack.com/methods/reactions.list
57
62
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.list.json
58
63
  def reactions_list(options = {})
59
64
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
60
- post('reactions.list', options)
65
+ if block_given?
66
+ Pagination::Cursor.new(self, :reactions_list, options).each do |page|
67
+ yield page
68
+ end
69
+ else
70
+ post('reactions.list', options)
71
+ end
61
72
  end
62
73
 
63
74
  #
64
75
  # Removes a reaction from an item.
65
76
  #
66
- # @option options [Object] :name
77
+ # @option options [string] :name
67
78
  # Reaction (emoji) name.
68
79
  # @option options [channel] :channel
69
80
  # Channel where the message to remove reaction from was posted.
70
81
  # @option options [file] :file
71
82
  # File to remove reaction from.
72
- # @option options [Object] :file_comment
83
+ # @option options [string] :file_comment
73
84
  # File comment to remove reaction from.
74
- # @option options [Object] :timestamp
85
+ # @option options [string] :timestamp
75
86
  # Timestamp of the message to remove reaction from.
76
87
  # @see https://api.slack.com/methods/reactions.remove
77
88
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.remove.json
78
89
  def reactions_remove(options = {})
79
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
80
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
90
+ raise ArgumentError, 'Required arguments :name missing' if options[:name].nil?
91
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
81
92
  post('reactions.remove', options)
82
93
  end
83
94
  end
@@ -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
@@ -8,17 +9,21 @@ module Slack
8
9
  #
9
10
  # Creates a reminder.
10
11
  #
11
- # @option options [Object] :text
12
+ # @option options [string] :text
12
13
  # The content of the reminder.
13
- # @option options [Object] :time
14
- # When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").
14
+ # @option options [string] :time
15
+ # Can also take a type of integer. When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").
16
+ # @option options [object] :recurrence
17
+ # Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.
18
+ # @option options [string] :team_id
19
+ # Encoded team id, required if org token is used.
15
20
  # @option options [user] :user
16
- # The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.
21
+ # No longer supported - reminders cannot be set for other users. Previously, was the user who would receive the reminder.
17
22
  # @see https://api.slack.com/methods/reminders.add
18
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.add.json
19
24
  def reminders_add(options = {})
20
- throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
21
- throw ArgumentError.new('Required arguments :time missing') if options[:time].nil?
25
+ raise ArgumentError, 'Required arguments :text missing' if options[:text].nil?
26
+ raise ArgumentError, 'Required arguments :time missing' if options[:time].nil?
22
27
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
23
28
  post('reminders.add', options)
24
29
  end
@@ -26,42 +31,50 @@ module Slack
26
31
  #
27
32
  # Marks a reminder as complete.
28
33
  #
29
- # @option options [Object] :reminder
34
+ # @option options [string] :reminder
30
35
  # The ID of the reminder to be marked as complete.
36
+ # @option options [string] :team_id
37
+ # Encoded team id, required if org token is used.
31
38
  # @see https://api.slack.com/methods/reminders.complete
32
39
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.complete.json
33
40
  def reminders_complete(options = {})
34
- throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
41
+ raise ArgumentError, 'Required arguments :reminder missing' if options[:reminder].nil?
35
42
  post('reminders.complete', options)
36
43
  end
37
44
 
38
45
  #
39
46
  # Deletes a reminder.
40
47
  #
41
- # @option options [Object] :reminder
48
+ # @option options [string] :reminder
42
49
  # The ID of the reminder.
50
+ # @option options [string] :team_id
51
+ # Encoded team id, required if org token is used.
43
52
  # @see https://api.slack.com/methods/reminders.delete
44
53
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.delete.json
45
54
  def reminders_delete(options = {})
46
- throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
55
+ raise ArgumentError, 'Required arguments :reminder missing' if options[:reminder].nil?
47
56
  post('reminders.delete', options)
48
57
  end
49
58
 
50
59
  #
51
60
  # Gets information about a reminder.
52
61
  #
53
- # @option options [Object] :reminder
62
+ # @option options [string] :reminder
54
63
  # The ID of the reminder.
64
+ # @option options [string] :team_id
65
+ # Encoded team id, required if org token is passed.
55
66
  # @see https://api.slack.com/methods/reminders.info
56
67
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.info.json
57
68
  def reminders_info(options = {})
58
- throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
69
+ raise ArgumentError, 'Required arguments :reminder missing' if options[:reminder].nil?
59
70
  post('reminders.info', options)
60
71
  end
61
72
 
62
73
  #
63
74
  # Lists all reminders created by or for a given user.
64
75
  #
76
+ # @option options [string] :team_id
77
+ # Encoded team id, required if org token is passed.
65
78
  # @see https://api.slack.com/methods/reminders.list
66
79
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.list.json
67
80
  def reminders_list(options = {})
@@ -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
@@ -8,34 +9,15 @@ module Slack
8
9
  #
9
10
  # Starts a Real Time Messaging session.
10
11
  #
11
- # @option options [Object] :batch_presence_aware
12
+ # @option options [boolean] :batch_presence_aware
13
+ # Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
14
+ # @option options [boolean] :presence_sub
12
15
  # Only deliver presence events when requested by subscription. See presence subscriptions.
13
16
  # @see https://api.slack.com/methods/rtm.connect
14
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.connect.json
15
18
  def rtm_connect(options = {})
16
19
  post('rtm.connect', options)
17
20
  end
18
-
19
- #
20
- # Starts a Real Time Messaging session.
21
- #
22
- # @option options [Object] :batch_presence_aware
23
- # Only deliver presence events when requested by subscription. See presence subscriptions.
24
- # @option options [Object] :include_locale
25
- # Set this to true to receive the locale for users and channels. Defaults to false.
26
- # @option options [Object] :mpim_aware
27
- # Returns MPIMs to the client in the API response.
28
- # @option options [Object] :no_latest
29
- # Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.
30
- # @option options [Object] :no_unreads
31
- # Skip unread counts for each channel (improves performance).
32
- # @option options [Object] :simple_latest
33
- # Return timestamp only for latest message object of each channel (improves performance).
34
- # @see https://api.slack.com/methods/rtm.start
35
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.start.json
36
- def rtm_start(options = {})
37
- post('rtm.start', options)
38
- end
39
21
  end
40
22
  end
41
23
  end
@@ -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
@@ -8,55 +9,69 @@ module Slack
8
9
  #
9
10
  # Searches for messages and files matching a query.
10
11
  #
11
- # @option options [Object] :query
12
+ # @option options [string] :query
12
13
  # Search query. May contains booleans, etc.
13
- # @option options [Object] :highlight
14
+ # @option options [boolean] :highlight
14
15
  # Pass a value of true to enable query highlight markers (see below).
15
- # @option options [Object] :sort
16
+ # @option options [string] :sort
16
17
  # Return matches sorted by either score or timestamp.
17
- # @option options [Object] :sort_dir
18
+ # @option options [enum] :sort_dir
18
19
  # Change sort direction to ascending (asc) or descending (desc).
20
+ # @option options [string] :team_id
21
+ # encoded team id to search in, required if org token is used.
19
22
  # @see https://api.slack.com/methods/search.all
20
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.all.json
21
24
  def search_all(options = {})
22
- throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
25
+ raise ArgumentError, 'Required arguments :query missing' if options[:query].nil?
23
26
  post('search.all', options)
24
27
  end
25
28
 
26
29
  #
27
30
  # Searches for files matching a query.
28
31
  #
29
- # @option options [Object] :query
30
- # Search query. May contain booleans, etc.
31
- # @option options [Object] :highlight
32
+ # @option options [string] :query
33
+ # Search query.
34
+ # @option options [boolean] :highlight
32
35
  # Pass a value of true to enable query highlight markers (see below).
33
- # @option options [Object] :sort
36
+ # @option options [string] :sort
34
37
  # Return matches sorted by either score or timestamp.
35
- # @option options [Object] :sort_dir
38
+ # @option options [enum] :sort_dir
36
39
  # Change sort direction to ascending (asc) or descending (desc).
40
+ # @option options [string] :team_id
41
+ # encoded team id to search in, required if org token is used.
37
42
  # @see https://api.slack.com/methods/search.files
38
43
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.files.json
39
44
  def search_files(options = {})
40
- throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
45
+ raise ArgumentError, 'Required arguments :query missing' if options[:query].nil?
41
46
  post('search.files', options)
42
47
  end
43
48
 
44
49
  #
45
50
  # Searches for messages matching a query.
46
51
  #
47
- # @option options [Object] :query
48
- # Search query. May contains booleans, etc.
49
- # @option options [Object] :highlight
52
+ # @option options [string] :query
53
+ # Search query.
54
+ # @option options [string] :cursor
55
+ # Use this when getting results with cursormark pagination. For first call send * for subsequent calls, send the value of next_cursor returned in the previous call's results.
56
+ # @option options [boolean] :highlight
50
57
  # Pass a value of true to enable query highlight markers (see below).
51
- # @option options [Object] :sort
58
+ # @option options [string] :sort
52
59
  # Return matches sorted by either score or timestamp.
53
- # @option options [Object] :sort_dir
60
+ # @option options [enum] :sort_dir
54
61
  # Change sort direction to ascending (asc) or descending (desc).
62
+ # @option options [string] :team_id
63
+ # encoded team id to search in, required if org token is used.
55
64
  # @see https://api.slack.com/methods/search.messages
56
65
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.messages.json
57
66
  def search_messages(options = {})
58
- throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
59
- post('search.messages', options)
67
+ raise ArgumentError, 'Required arguments :query missing' if options[:query].nil?
68
+ if block_given?
69
+ Pagination::Cursor.new(self, :search_messages, options).each do |page|
70
+ yield page
71
+ end
72
+ else
73
+ post('search.messages', options)
74
+ end
60
75
  end
61
76
  end
62
77
  end