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,17 +7,37 @@ module Slack
6
7
  module Endpoints
7
8
  module Rtm
8
9
  #
9
- # This method starts a Real Time Messaging API session. Refer to the
10
- # RTM API documentation for full details on how to use the RTM API.
10
+ # Starts a Real Time Messaging session.
11
11
  #
12
- # @option options [Object] :simple_latest
13
- # Return timestamp only for latest message object of each channel (improves performance).
14
- # @option options [Object] :no_unreads
15
- # Skip unread counts for each channel (improves performance).
16
- # @option options [Object] :mpim_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
15
+ # Only deliver presence events when requested by subscription. See presence subscriptions.
16
+ # @see https://api.slack.com/methods/rtm.connect
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.connect.json
18
+ def rtm_connect(options = {})
19
+ post('rtm.connect', options)
20
+ end
21
+
22
+ #
23
+ # Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead.
24
+ #
25
+ # @option options [boolean] :batch_presence_aware
26
+ # Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
27
+ # @option options [boolean] :include_locale
28
+ # Set this to true to receive the locale for users and channels. Defaults to false.
29
+ # @option options [boolean] :mpim_aware
17
30
  # Returns MPIMs to the client in the API response.
31
+ # @option options [boolean] :no_latest
32
+ # Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.
33
+ # @option options [boolean] :no_unreads
34
+ # Skip unread counts for each channel (improves performance).
35
+ # @option options [boolean] :presence_sub
36
+ # Only deliver presence events when requested by subscription. See presence subscriptions.
37
+ # @option options [boolean] :simple_latest
38
+ # Return timestamp only for latest message object of each channel (improves performance).
18
39
  # @see https://api.slack.com/methods/rtm.start
19
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/rtm/rtm.start.json
40
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.start.json
20
41
  def rtm_start(options = {})
21
42
  post('rtm.start', options)
22
43
  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,57 +7,71 @@ module Slack
6
7
  module Endpoints
7
8
  module Search
8
9
  #
9
- # This method allows to to search both messages and files in a single call.
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] :sort
14
+ # @option options [boolean] :highlight
15
+ # Pass a value of true to enable query highlight markers (see below).
16
+ # @option options [string] :sort
14
17
  # Return matches sorted by either score or timestamp.
15
- # @option options [Object] :sort_dir
18
+ # @option options [string] :sort_dir
16
19
  # Change sort direction to ascending (asc) or descending (desc).
17
- # @option options [Object] :highlight
18
- # Pass a value of 1 to enable query highlight markers (see below).
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
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/search/search.all.json
23
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.all.json
21
24
  def search_all(options = {})
22
25
  throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
23
26
  post('search.all', options)
24
27
  end
25
28
 
26
29
  #
27
- # This method returns files matching a search query.
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] :sort
32
+ # @option options [string] :query
33
+ # Search query.
34
+ # @option options [boolean] :highlight
35
+ # Pass a value of true to enable query highlight markers (see below).
36
+ # @option options [string] :sort
32
37
  # Return matches sorted by either score or timestamp.
33
- # @option options [Object] :sort_dir
38
+ # @option options [string] :sort_dir
34
39
  # Change sort direction to ascending (asc) or descending (desc).
35
- # @option options [Object] :highlight
36
- # Pass a value of 1 to enable query highlight markers (see below).
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
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/search/search.files.json
43
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.files.json
39
44
  def search_files(options = {})
40
45
  throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
41
46
  post('search.files', options)
42
47
  end
43
48
 
44
49
  #
45
- # This method returns messages matching a search query.
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] :sort
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
57
+ # Pass a value of true to enable query highlight markers (see below).
58
+ # @option options [string] :sort
50
59
  # Return matches sorted by either score or timestamp.
51
- # @option options [Object] :sort_dir
60
+ # @option options [string] :sort_dir
52
61
  # Change sort direction to ascending (asc) or descending (desc).
53
- # @option options [Object] :highlight
54
- # Pass a value of 1 to enable query highlight markers (see below).
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
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/search/search.messages.json
65
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.messages.json
57
66
  def search_messages(options = {})
58
67
  throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
59
- post('search.messages', options)
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
@@ -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,52 +7,59 @@ module Slack
6
7
  module Endpoints
7
8
  module Stars
8
9
  #
9
- # This method adds a star to an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
10
- # One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
10
+ # Save an item for later. Formerly known as _adding a star_.
11
11
  #
12
+ # @option options [channel] :channel
13
+ # Channel to add star to, or channel where the message to add star to was posted (used with timestamp).
12
14
  # @option options [file] :file
13
15
  # File to add star to.
14
- # @option options [Object] :file_comment
16
+ # @option options [string] :file_comment
15
17
  # File comment to add star to.
16
- # @option options [channel] :channel
17
- # Channel to add star to, or channel where the message to add star to was posted (used with timestamp).
18
- # @option options [Object] :timestamp
18
+ # @option options [string] :timestamp
19
19
  # Timestamp of the message to add star to.
20
20
  # @see https://api.slack.com/methods/stars.add
21
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars/stars.add.json
21
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.add.json
22
22
  def stars_add(options = {})
23
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
23
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
24
24
  post('stars.add', options)
25
25
  end
26
26
 
27
27
  #
28
- # This method lists the items starred by a user.
28
+ # List a user's saved items, formerly known as _stars_.
29
29
  #
30
- # @option options [user] :user
31
- # Show stars by this user. Defaults to the authed user.
30
+ # @option options [string] :cursor
31
+ # 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.
32
+ # @option options [integer] :limit
33
+ # 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.
34
+ # @option options [string] :team_id
35
+ # encoded team id to list stars in, required if org token is used.
32
36
  # @see https://api.slack.com/methods/stars.list
33
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars/stars.list.json
37
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.list.json
34
38
  def stars_list(options = {})
35
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
36
- post('stars.list', options)
39
+ if block_given?
40
+ Pagination::Cursor.new(self, :stars_list, options).each do |page|
41
+ yield page
42
+ end
43
+ else
44
+ post('stars.list', options)
45
+ end
37
46
  end
38
47
 
39
48
  #
40
- # This method removes a star from an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
41
- # One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
49
+ # Removes a saved item (star) from an item.
42
50
  #
51
+ # @option options [channel] :channel
52
+ # Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).
43
53
  # @option options [file] :file
44
54
  # File to remove star from.
45
- # @option options [Object] :file_comment
55
+ # @option options [string] :file_comment
46
56
  # File comment to remove star from.
47
- # @option options [channel] :channel
48
- # Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).
49
- # @option options [Object] :timestamp
57
+ # @option options [string] :timestamp
50
58
  # Timestamp of the message to remove star from.
51
59
  # @see https://api.slack.com/methods/stars.remove
52
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars/stars.remove.json
60
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.remove.json
53
61
  def stars_remove(options = {})
54
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
62
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
55
63
  post('stars.remove', options)
56
64
  end
57
65
  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,36 +7,58 @@ module Slack
6
7
  module Endpoints
7
8
  module Team
8
9
  #
9
- # This method is used to get the access logs for users on a team.
10
+ # Gets the access logs for the current team.
10
11
  #
12
+ # @option options [string] :before
13
+ # End of time range of logs to include in results (inclusive).
14
+ # @option options [string] :team_id
15
+ # encoded team id to get logs from, required if org token is used.
11
16
  # @see https://api.slack.com/methods/team.accessLogs
12
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/team/team.accessLogs.json
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.accessLogs.json
13
18
  def team_accessLogs(options = {})
14
19
  post('team.accessLogs', options)
15
20
  end
16
21
 
17
22
  #
18
- # This method provides information about your team.
23
+ # Gets billable users information for the current team.
19
24
  #
25
+ # @option options [string] :team_id
26
+ # encoded team id to get the billable information from, required if org token is used.
27
+ # @option options [user] :user
28
+ # A user to retrieve the billable information for. Defaults to all users.
29
+ # @see https://api.slack.com/methods/team.billableInfo
30
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.billableInfo.json
31
+ def team_billableInfo(options = {})
32
+ options = options.merge(user: users_id(options)['user']['id']) if options[:user]
33
+ post('team.billableInfo', options)
34
+ end
35
+
36
+ #
37
+ # Gets information about the current team.
38
+ #
39
+ # @option options [string] :team
40
+ # Team to get info on, if omitted, will return information about the current team. Will only return team that the authenticated token is allowed to see through external shared channels.
20
41
  # @see https://api.slack.com/methods/team.info
21
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/team/team.info.json
42
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.info.json
22
43
  def team_info(options = {})
23
44
  post('team.info', options)
24
45
  end
25
46
 
26
47
  #
27
- # This method lists the integration activity logs for a team, including when integrations are added, modified and removed. This method can only be called by Admins.
48
+ # Gets the integration logs for the current team.
28
49
  #
29
- # @option options [Object] :service_id
30
- # Filter logs to this service. Defaults to all logs.
31
- # @option options [Object] :app_id
50
+ # @option options [string] :app_id
32
51
  # Filter logs to this Slack app. Defaults to all logs.
52
+ # @option options [string] :change_type
53
+ # Filter logs with this change type. Defaults to all logs.
54
+ # @option options [string] :service_id
55
+ # Filter logs to this service. Defaults to all logs.
56
+ # @option options [string] :team_id
57
+ # encoded team id to get logs from, required if org token is used.
33
58
  # @option options [user] :user
34
59
  # Filter logs generated by this user's actions. Defaults to all logs.
35
- # @option options [Object] :change_type
36
- # Filter logs with this change type. Defaults to all logs.
37
60
  # @see https://api.slack.com/methods/team.integrationLogs
38
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/team/team.integrationLogs.json
61
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.integrationLogs.json
39
62
  def team_integrationLogs(options = {})
40
63
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
41
64
  post('team.integrationLogs', options)
@@ -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 TeamBilling
9
+ #
10
+ # Reads a workspace's billing plan information.
11
+ #
12
+ # @see https://api.slack.com/methods/team.billing.info
13
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.billing/team.billing.info.json
14
+ def team_billing_info(options = {})
15
+ post('team.billing.info', options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ 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 TeamPreferences
9
+ #
10
+ # Retrieve a list of a workspace's team preferences.
11
+ #
12
+ # @see https://api.slack.com/methods/team.preferences.list
13
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.preferences/team.preferences.list.json
14
+ def team_preferences_list(options = {})
15
+ post('team.preferences.list', options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
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 TeamProfile
9
+ #
10
+ # Retrieve a team's profile.
11
+ #
12
+ # @option options [string] :visibility
13
+ # Filter by visibility.
14
+ # @see https://api.slack.com/methods/team.profile.get
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.profile/team.profile.get.json
16
+ def team_profile_get(options = {})
17
+ post('team.profile.get', options)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
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 ToolingTokens
9
+ #
10
+ # Exchanges a refresh token for a new app configuration token.
11
+ #
12
+ # @option options [string] :refresh_token
13
+ # The xoxe refresh token that was issued along with the old app configuration token.
14
+ # @see https://api.slack.com/methods/tooling.tokens.rotate
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/tooling.tokens/tooling.tokens.rotate.json
16
+ def tooling_tokens_rotate(options = {})
17
+ throw ArgumentError.new('Required arguments :refresh_token missing') if options[:refresh_token].nil?
18
+ post('tooling.tokens.rotate', options)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
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,85 +7,95 @@ module Slack
6
7
  module Endpoints
7
8
  module Usergroups
8
9
  #
9
- # This method is used to create a User Group.
10
+ # Create a User Group
10
11
  #
11
- # @option options [Object] :name
12
+ # @option options [string] :name
12
13
  # A name for the User Group. Must be unique among User Groups.
13
- # @option options [Object] :handle
14
- # A mention handle. Must be unique among channels, users and User Groups.
15
- # @option options [Object] :description
16
- # A short description of the User Group.
17
- # @option options [Object] :channels
14
+ # @option options [array] :channels
18
15
  # A comma separated string of encoded channel IDs for which the User Group uses as a default.
19
- # @option options [Object] :include_count
16
+ # @option options [string] :description
17
+ # A short description of the User Group.
18
+ # @option options [string] :handle
19
+ # A mention handle. Must be unique among channels, users and User Groups.
20
+ # @option options [boolean] :include_count
20
21
  # Include the number of users in each User Group.
22
+ # @option options [string] :team_id
23
+ # Encoded team id where the user group has to be created, required if org token is used.
21
24
  # @see https://api.slack.com/methods/usergroups.create
22
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
25
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
23
26
  def usergroups_create(options = {})
24
27
  throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
25
28
  post('usergroups.create', options)
26
29
  end
27
30
 
28
31
  #
29
- # This method disables an existing User Group.
32
+ # Disable an existing User Group
30
33
  #
31
34
  # @option options [Object] :usergroup
32
35
  # The encoded ID of the User Group to disable.
33
- # @option options [Object] :include_count
36
+ # @option options [boolean] :include_count
34
37
  # Include the number of users in the User Group.
38
+ # @option options [Object] :team_id
39
+ # Encoded team id where the user group is, required if org token is used.
35
40
  # @see https://api.slack.com/methods/usergroups.disable
36
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups/usergroups.disable.json
41
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.disable.json
37
42
  def usergroups_disable(options = {})
38
43
  throw ArgumentError.new('Required arguments :usergroup missing') if options[:usergroup].nil?
39
44
  post('usergroups.disable', options)
40
45
  end
41
46
 
42
47
  #
43
- # This method enables a User Group which was previously disabled.
48
+ # Enable a User Group
44
49
  #
45
- # @option options [Object] :usergroup
50
+ # @option options [string] :usergroup
46
51
  # The encoded ID of the User Group to enable.
47
- # @option options [Object] :include_count
52
+ # @option options [boolean] :include_count
48
53
  # Include the number of users in the User Group.
54
+ # @option options [string] :team_id
55
+ # Encoded team id where the user group is, required if org token is used.
49
56
  # @see https://api.slack.com/methods/usergroups.enable
50
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
57
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
51
58
  def usergroups_enable(options = {})
52
59
  throw ArgumentError.new('Required arguments :usergroup missing') if options[:usergroup].nil?
53
60
  post('usergroups.enable', options)
54
61
  end
55
62
 
56
63
  #
57
- # This method returns a list of all User Groups in the team. This can optionally include disabled User Groups.
64
+ # List all User Groups for a team
58
65
  #
59
- # @option options [Object] :include_disabled
60
- # Include disabled User Groups.
61
- # @option options [Object] :include_count
66
+ # @option options [boolean] :include_count
62
67
  # Include the number of users in each User Group.
63
- # @option options [Object] :include_users
68
+ # @option options [boolean] :include_disabled
69
+ # Include disabled User Groups.
70
+ # @option options [boolean] :include_users
64
71
  # Include the list of users for each User Group.
72
+ # @option options [string] :team_id
73
+ # encoded team id to list user groups in, required if org token is used.
65
74
  # @see https://api.slack.com/methods/usergroups.list
66
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
75
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
67
76
  def usergroups_list(options = {})
68
77
  post('usergroups.list', options)
69
78
  end
70
79
 
71
80
  #
72
- # This method updates the properties of an existing User Group.
81
+ # Update an existing User Group
73
82
  #
74
83
  # @option options [Object] :usergroup
75
84
  # The encoded ID of the User Group to update.
76
- # @option options [Object] :name
77
- # A name for the User Group. Must be unique among User Groups.
78
- # @option options [Object] :handle
79
- # A mention handle. Must be unique among channels, users and User Groups.
80
- # @option options [Object] :description
81
- # A short description of the User Group.
82
- # @option options [Object] :channels
85
+ # @option options [array] :channels
83
86
  # A comma separated string of encoded channel IDs for which the User Group uses as a default.
84
- # @option options [Object] :include_count
87
+ # @option options [string] :description
88
+ # A short description of the User Group.
89
+ # @option options [string] :handle
90
+ # A mention handle. Must be unique among channels, users and User Groups.
91
+ # @option options [boolean] :include_count
85
92
  # Include the number of users in the User Group.
93
+ # @option options [string] :name
94
+ # A name for the User Group. Must be unique among User Groups.
95
+ # @option options [Object] :team_id
96
+ # encoded team id where the user group exists, required if org token is used.
86
97
  # @see https://api.slack.com/methods/usergroups.update
87
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups/usergroups.update.json
98
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.update.json
88
99
  def usergroups_update(options = {})
89
100
  throw ArgumentError.new('Required arguments :usergroup missing') if options[:usergroup].nil?
90
101
  post('usergroups.update', 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
@@ -6,30 +7,34 @@ module Slack
6
7
  module Endpoints
7
8
  module UsergroupsUsers
8
9
  #
9
- # This method returns a list of all users within a User Group.
10
+ # List all users in a User Group
10
11
  #
11
- # @option options [Object] :usergroup
12
+ # @option options [string] :usergroup
12
13
  # The encoded ID of the User Group to update.
13
- # @option options [Object] :include_disabled
14
+ # @option options [boolean] :include_disabled
14
15
  # Allow results that involve disabled User Groups.
16
+ # @option options [string] :team_id
17
+ # encoded team id where the user group exists, required if org token is used.
15
18
  # @see https://api.slack.com/methods/usergroups.users.list
16
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
17
20
  def usergroups_users_list(options = {})
18
21
  throw ArgumentError.new('Required arguments :usergroup missing') if options[:usergroup].nil?
19
22
  post('usergroups.users.list', options)
20
23
  end
21
24
 
22
25
  #
23
- # This method updates the list of users that belong to a User Group. This method replaces all users in a User Group with the list of users provided in the users parameter.
26
+ # Update the list of users for a User Group
24
27
  #
25
- # @option options [Object] :usergroup
28
+ # @option options [string] :usergroup
26
29
  # The encoded ID of the User Group to update.
27
- # @option options [Object] :users
30
+ # @option options [array] :users
28
31
  # A comma separated string of encoded user IDs that represent the entire list of users for the User Group.
29
- # @option options [Object] :include_count
32
+ # @option options [boolean] :include_count
30
33
  # Include the number of users in the User Group.
34
+ # @option options [string] :team_id
35
+ # encoded team id where the user group exists, required if org token is used.
31
36
  # @see https://api.slack.com/methods/usergroups.users.update
32
- # @see https://github.com/dblock/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
37
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
33
38
  def usergroups_users_update(options = {})
34
39
  throw ArgumentError.new('Required arguments :usergroup missing') if options[:usergroup].nil?
35
40
  throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?