slack-ruby-client 0.7.9 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +32 -1
  5. data/.rubocop_todo.yml +98 -49
  6. data/.travis.yml +10 -14
  7. data/CHANGELOG.md +172 -24
  8. data/CONTRIBUTING.md +17 -6
  9. data/Dangerfile +2 -0
  10. data/Gemfile +10 -4
  11. data/LICENSE.md +1 -1
  12. data/README.md +276 -54
  13. data/RELEASING.md +19 -11
  14. data/Rakefile +2 -1
  15. data/UPGRADING.md +84 -2
  16. data/bin/commands.rb +43 -1
  17. data/bin/commands/admin_analytics.rb +15 -0
  18. data/bin/commands/admin_apps.rb +40 -0
  19. data/bin/commands/admin_apps_approved.rb +17 -0
  20. data/bin/commands/admin_apps_requests.rb +16 -0
  21. data/bin/commands/admin_apps_restricted.rb +17 -0
  22. data/bin/commands/admin_barriers.rb +47 -0
  23. data/bin/commands/admin_conversations.rb +169 -0
  24. data/bin/commands/admin_conversations_ekm.rb +17 -0
  25. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  26. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  27. data/bin/commands/admin_emoji.rb +54 -0
  28. data/bin/commands/admin_inviteRequests.rb +36 -0
  29. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  30. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  31. data/bin/commands/admin_teams.rb +27 -0
  32. data/bin/commands/admin_teams_admins.rb +16 -0
  33. data/bin/commands/admin_teams_owners.rb +16 -0
  34. data/bin/commands/admin_teams_settings.rb +64 -0
  35. data/bin/commands/admin_usergroups.rb +48 -0
  36. data/bin/commands/admin_users.rb +97 -0
  37. data/bin/commands/admin_users_session.rb +38 -0
  38. data/bin/commands/api.rb +3 -3
  39. data/bin/commands/apps.rb +15 -0
  40. data/bin/commands/apps_connections.rb +13 -0
  41. data/bin/commands/apps_event_authorizations.rb +16 -0
  42. data/bin/commands/apps_permissions.rb +23 -0
  43. data/bin/commands/apps_permissions_resources.rb +15 -0
  44. data/bin/commands/apps_permissions_scopes.rb +13 -0
  45. data/bin/commands/apps_permissions_users.rb +26 -0
  46. data/bin/commands/auth.rb +5 -4
  47. data/bin/commands/auth_teams.rb +16 -0
  48. data/bin/commands/bots.rb +4 -2
  49. data/bin/commands/calls.rb +52 -0
  50. data/bin/commands/calls_participants.rb +25 -0
  51. data/bin/commands/channels.rb +64 -43
  52. data/bin/commands/chat.rb +114 -24
  53. data/bin/commands/chat_scheduledMessages.rb +19 -0
  54. data/bin/commands/conversations.rb +196 -0
  55. data/bin/commands/dialog.rb +15 -0
  56. data/bin/commands/dnd.rb +9 -8
  57. data/bin/commands/emoji.rb +3 -2
  58. data/bin/commands/files.rb +45 -30
  59. data/bin/commands/files_comments.rb +3 -24
  60. data/bin/commands/files_remote.rb +78 -0
  61. data/bin/commands/groups.rb +53 -53
  62. data/bin/commands/im.rb +17 -13
  63. data/bin/commands/migration.rb +16 -0
  64. data/bin/commands/mpim.rb +16 -13
  65. data/bin/commands/oauth.rb +17 -2
  66. data/bin/commands/oauth_v2.rb +17 -0
  67. data/bin/commands/pins.rb +7 -10
  68. data/bin/commands/reactions.rb +17 -15
  69. data/bin/commands/reminders.rb +11 -10
  70. data/bin/commands/rtm.rb +19 -4
  71. data/bin/commands/search.rb +15 -11
  72. data/bin/commands/stars.rb +11 -8
  73. data/bin/commands/team.rb +15 -10
  74. data/bin/commands/team_profile.rb +3 -2
  75. data/bin/commands/usergroups.rb +22 -16
  76. data/bin/commands/usergroups_users.rb +7 -4
  77. data/bin/commands/users.rb +65 -37
  78. data/bin/commands/users_admin.rb +29 -0
  79. data/bin/commands/users_prefs.rb +13 -0
  80. data/bin/commands/users_profile.rb +8 -7
  81. data/bin/commands/views.rb +48 -0
  82. data/bin/commands/workflows.rb +38 -0
  83. data/bin/slack +3 -4
  84. data/examples/hi_real_time_and_web/Gemfile +1 -0
  85. data/examples/hi_real_time_and_web/hi.rb +8 -4
  86. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  87. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
  88. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
  89. data/examples/hi_web/Gemfile +1 -0
  90. data/examples/hi_web/hi.rb +2 -1
  91. data/examples/new_ticket/Gemfile +1 -0
  92. data/examples/new_ticket/new_ticket.rb +2 -1
  93. data/lib/slack-ruby-client.rb +40 -26
  94. data/lib/slack.rb +1 -0
  95. data/lib/slack/config.rb +1 -0
  96. data/lib/slack/events/config.rb +32 -0
  97. data/lib/slack/events/request.rb +70 -0
  98. data/lib/slack/logger.rb +6 -5
  99. data/lib/slack/messages/formatting.rb +4 -4
  100. data/lib/slack/messages/message.rb +2 -6
  101. data/lib/slack/real_time/api/message.rb +3 -1
  102. data/lib/slack/real_time/api/message_id.rb +1 -0
  103. data/lib/slack/real_time/api/ping.rb +5 -2
  104. data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
  105. data/lib/slack/real_time/api/typing.rb +3 -1
  106. data/lib/slack/real_time/client.rb +113 -32
  107. data/lib/slack/real_time/concurrency.rb +2 -2
  108. data/lib/slack/real_time/concurrency/async.rb +140 -0
  109. data/lib/slack/real_time/config.rb +20 -12
  110. data/lib/slack/real_time/models.rb +8 -7
  111. data/lib/slack/real_time/models/base.rb +2 -6
  112. data/lib/slack/real_time/models/bot.rb +1 -0
  113. data/lib/slack/real_time/models/channel.rb +1 -0
  114. data/lib/slack/real_time/models/group.rb +1 -0
  115. data/lib/slack/real_time/models/im.rb +1 -0
  116. data/lib/slack/real_time/models/team.rb +1 -0
  117. data/lib/slack/real_time/models/user.rb +1 -0
  118. data/lib/slack/real_time/socket.rb +46 -17
  119. data/lib/slack/real_time/stores.rb +4 -3
  120. data/lib/slack/real_time/stores/base.rb +5 -3
  121. data/lib/slack/real_time/stores/starter.rb +113 -72
  122. data/lib/slack/real_time/stores/store.rb +131 -88
  123. data/lib/slack/version.rb +2 -1
  124. data/lib/slack/web/api/endpoints.rb +110 -26
  125. data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
  126. data/lib/slack/web/api/endpoints/admin_apps.rb +62 -0
  127. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  128. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
  129. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  130. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  131. data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
  132. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  133. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  134. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  135. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  136. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  137. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  138. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  139. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  140. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  141. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  142. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  143. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  144. data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
  145. data/lib/slack/web/api/endpoints/admin_users_session.rb +66 -0
  146. data/lib/slack/web/api/endpoints/api.rb +3 -4
  147. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  148. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  149. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  150. data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
  151. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
  152. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
  153. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
  154. data/lib/slack/web/api/endpoints/auth.rb +5 -4
  155. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  156. data/lib/slack/web/api/endpoints/bots.rb +5 -2
  157. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  158. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  159. data/lib/slack/web/api/endpoints/channels.rb +105 -49
  160. data/lib/slack/web/api/endpoints/chat.rb +221 -40
  161. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  162. data/lib/slack/web/api/endpoints/conversations.rb +332 -0
  163. data/lib/slack/web/api/endpoints/dialog.rb +33 -0
  164. data/lib/slack/web/api/endpoints/dnd.rb +11 -9
  165. data/lib/slack/web/api/endpoints/emoji.rb +3 -2
  166. data/lib/slack/web/api/endpoints/files.rb +75 -38
  167. data/lib/slack/web/api/endpoints/files_comments.rb +3 -38
  168. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  169. data/lib/slack/web/api/endpoints/groups.rb +76 -53
  170. data/lib/slack/web/api/endpoints/im.rb +38 -21
  171. data/lib/slack/web/api/endpoints/migration.rb +28 -0
  172. data/lib/slack/web/api/endpoints/mpim.rb +37 -22
  173. data/lib/slack/web/api/endpoints/oauth.rb +25 -4
  174. data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
  175. data/lib/slack/web/api/endpoints/pins.rb +10 -19
  176. data/lib/slack/web/api/endpoints/presence.rb +1 -1
  177. data/lib/slack/web/api/endpoints/reactions.rb +37 -28
  178. data/lib/slack/web/api/endpoints/reminders.rb +11 -10
  179. data/lib/slack/web/api/endpoints/rtm.rb +28 -7
  180. data/lib/slack/web/api/endpoints/search.rb +21 -14
  181. data/lib/slack/web/api/endpoints/stars.rb +24 -15
  182. data/lib/slack/web/api/endpoints/team.rb +21 -13
  183. data/lib/slack/web/api/endpoints/team_profile.rb +3 -2
  184. data/lib/slack/web/api/endpoints/usergroups.rb +33 -22
  185. data/lib/slack/web/api/endpoints/usergroups_users.rb +9 -4
  186. data/lib/slack/web/api/endpoints/users.rb +78 -29
  187. data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
  188. data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
  189. data/lib/slack/web/api/endpoints/users_profile.rb +11 -10
  190. data/lib/slack/web/api/endpoints/views.rb +97 -0
  191. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  192. data/lib/slack/web/api/error.rb +2 -8
  193. data/lib/slack/web/api/errors.rb +850 -0
  194. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  195. data/lib/slack/web/api/errors/slack_error.rb +29 -0
  196. data/lib/slack/web/api/errors/too_many_requests_error.rb +24 -0
  197. data/lib/slack/web/api/mixins.rb +6 -4
  198. data/lib/slack/web/api/mixins/channels.id.rb +6 -7
  199. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  200. data/lib/slack/web/api/mixins/groups.id.rb +6 -7
  201. data/lib/slack/web/api/mixins/ids.id.rb +24 -0
  202. data/lib/slack/web/api/mixins/users.id.rb +6 -7
  203. data/lib/slack/web/api/mixins/users.search.rb +39 -36
  204. data/lib/slack/web/api/patches/chat.1.patch +72 -0
  205. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
  206. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  207. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  208. data/lib/slack/web/api/templates/command.erb +5 -3
  209. data/lib/slack/web/api/templates/commands.erb +2 -1
  210. data/lib/slack/web/api/templates/endpoints.erb +5 -3
  211. data/lib/slack/web/api/templates/errors.erb +20 -0
  212. data/lib/slack/web/api/templates/method.erb +26 -4
  213. data/lib/slack/web/api/templates/method_spec.erb +3 -2
  214. data/lib/slack/web/client.rb +2 -1
  215. data/lib/slack/web/config.rb +21 -10
  216. data/lib/slack/web/faraday/connection.rb +25 -16
  217. data/lib/slack/web/faraday/request.rb +2 -0
  218. data/lib/slack/web/faraday/response/raise_error.rb +23 -1
  219. data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
  220. data/lib/slack/web/pagination/cursor.rb +52 -0
  221. data/lib/slack_ruby_client.rb +1 -0
  222. data/lib/tasks/git.rake +2 -1
  223. data/lib/tasks/real_time.rake +16 -6
  224. data/lib/tasks/update.rake +1 -0
  225. data/lib/tasks/web.rake +38 -10
  226. data/screenshots/create-app.png +0 -0
  227. data/slack-ruby-client.gemspec +9 -6
  228. data/spec/fixtures/slack/web/429_error.yml +2 -0
  229. data/spec/fixtures/slack/web/503_error.yml +14 -0
  230. data/spec/fixtures/slack/web/channels_info.yml +108 -15
  231. data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
  232. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
  233. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
  234. data/spec/fixtures/slack/web/paginated_users_list.yml +181 -0
  235. data/spec/fixtures/slack/web/rtm_connect.yml +70 -0
  236. data/spec/fixtures/slack/web/rtm_start.yml +1 -1
  237. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  238. data/spec/integration/integration_spec.rb +116 -48
  239. data/spec/slack/config_spec.rb +2 -0
  240. data/spec/slack/events/config_spec.rb +33 -0
  241. data/spec/slack/events/request_spec.rb +183 -0
  242. data/spec/slack/messages/formatting_spec.rb +25 -14
  243. data/spec/slack/real_time/api/message_spec.rb +6 -1
  244. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  245. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  246. data/spec/slack/real_time/client_spec.rb +462 -134
  247. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +3 -1
  248. data/spec/slack/real_time/event_handlers/bot_spec.rb +6 -3
  249. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
  250. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
  251. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  252. data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
  253. data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
  254. data/spec/slack/real_time/event_handlers/user_spec.rb +5 -2
  255. data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
  256. data/spec/slack/real_time/rtm_start_spec.rb +1 -0
  257. data/spec/slack/real_time/store_spec.rb +2 -1
  258. data/spec/slack/slack_spec.rb +39 -7
  259. data/spec/slack/version_spec.rb +2 -1
  260. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  261. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  262. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  263. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  264. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +13 -0
  265. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  266. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  267. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  268. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
  269. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
  270. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  271. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  272. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  273. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  274. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  275. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  276. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  277. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  278. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  279. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +21 -0
  280. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  281. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  282. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  283. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  284. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +8 -0
  285. data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +8 -0
  286. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +16 -0
  287. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +19 -0
  288. data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
  289. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  290. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  291. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  292. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  293. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
  294. data/spec/slack/web/api/endpoints/conversations_spec.rb +109 -0
  295. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +13 -4
  296. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
  297. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
  298. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
  299. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
  300. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +21 -6
  301. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  302. data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
  303. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  304. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
  305. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  306. data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
  307. data/spec/slack/web/api/endpoints/im_spec.rb +5 -4
  308. data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
  309. data/spec/slack/web/api/endpoints/mpim_spec.rb +5 -4
  310. data/spec/slack/web/api/endpoints/oauth_spec.rb +5 -4
  311. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
  312. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  313. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  314. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  315. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  316. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  317. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  318. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  319. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  320. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  321. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  322. data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
  323. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
  324. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  325. data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
  326. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  327. data/spec/slack/web/api/error_spec.rb +5 -3
  328. data/spec/slack/web/api/errors/slack_error_spec.rb +38 -0
  329. data/spec/slack/web/api/mixins/channels_spec.rb +24 -12
  330. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  331. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  332. data/spec/slack/web/api/mixins/groups_spec.rb +24 -12
  333. data/spec/slack/web/api/mixins/users_spec.rb +30 -17
  334. data/spec/slack/web/api/pagination/cursor_spec.rb +100 -0
  335. data/spec/slack/web/client_spec.rb +215 -14
  336. data/spec/slack/web/faraday/response/raise_error_spec.rb +85 -0
  337. data/spec/spec_helper.rb +8 -1
  338. data/spec/support/queue_with_timeout.rb +6 -5
  339. data/spec/support/real_time/concurrency/mock.rb +2 -2
  340. data/spec/support/real_time/connected_client.rb +13 -2
  341. data/spec/support/real_time/event.rb +1 -0
  342. data/spec/support/token.rb +1 -0
  343. data/spec/support/vcr.rb +6 -1
  344. metadata +280 -55
  345. data/examples/hi_real_time/Gemfile +0 -5
  346. data/examples/hi_real_time/hi.gif +0 -0
  347. data/examples/hi_real_time/hi.rb +0 -37
  348. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  349. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  350. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
  351. data/lib/slack/real_time/concurrency/celluloid.rb +0 -113
  352. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  353. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  354. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  355. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
  356. data/screenshots/register-bot.png +0 -0
  357. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -31
  358. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
2
3
 
3
4
  require 'rubygems'
4
5
  require 'rspec'
6
+ require 'timecop'
5
7
 
6
- require 'slack-ruby-client'
8
+ require 'slack_ruby_client'
7
9
 
8
10
  Dir[File.join(File.dirname(__FILE__), 'support', '**/*.rb')].each do |file|
9
11
  require file
@@ -12,3 +14,8 @@ end
12
14
  Slack.configure do |config|
13
15
  config.token = ENV['SLACK_API_TOKEN']
14
16
  end
17
+
18
+ RSpec.configure do |config|
19
+ # Enable flags like --only-failures and --next-failure
20
+ config.example_status_persistence_file_path = '.rspec_status'
21
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # http://spin.atomicobject.com/2014/07/07/ruby-queue-pop-timeout/
2
3
  class QueueWithTimeout
3
4
  def initialize
@@ -6,15 +7,15 @@ class QueueWithTimeout
6
7
  @recieved = ConditionVariable.new
7
8
  end
8
9
 
9
- def push(x)
10
+ def push(item)
10
11
  @mutex.synchronize do
11
- @queue << x
12
+ @queue << item
12
13
  @recieved.signal
13
14
  end
14
15
  end
15
16
 
16
- def <<(x)
17
- push(x)
17
+ def <<(item)
18
+ push(item)
18
19
  end
19
20
 
20
21
  def pop(non_block = false)
@@ -26,7 +27,7 @@ class QueueWithTimeout
26
27
  if @queue.empty?
27
28
  @recieved.wait(@mutex, timeout) if timeout != 0
28
29
  # if we're still empty after the timeout, raise exception
29
- fail ThreadError, 'queue empty' if @queue.empty?
30
+ raise ThreadError, 'queue empty' if @queue.empty?
30
31
  end
31
32
  @queue.shift
32
33
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module RealTime
3
4
  module Concurrency
@@ -6,8 +7,7 @@ module Slack
6
7
  end
7
8
 
8
9
  class Socket < ::Slack::RealTime::Socket
9
- def self.close
10
- end
10
+ def self.close; end
11
11
 
12
12
  def start_async(client)
13
13
  reactor = Thread.new {}
@@ -1,13 +1,24 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.shared_context 'connected client' do |opts|
2
3
  let(:client) { Slack::RealTime::Client.new(opts || {}) }
3
4
  let(:ws) { double(Slack::RealTime::Concurrency::Mock::WebSocket) }
4
- let(:url) { 'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid=' }
5
+ let(:url) do
6
+ if Slack::RealTime.config.store_class == Slack::RealTime::Stores::Store
7
+ 'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid='
8
+ else
9
+ 'wss://mpmulti-w5tz.slack-msgs.com/websocket/uid'
10
+ end
11
+ end
5
12
  let(:socket) { double(Slack::RealTime::Socket, connected?: true) }
13
+
6
14
  before do
7
15
  Slack::RealTime.configure do |config|
8
16
  config.concurrency = Slack::RealTime::Concurrency::Mock
17
+ config.store_class = (opts || {})[:store_class] || Slack::RealTime::Stores::Store
9
18
  end
10
- allow(Slack::RealTime::Socket).to receive(:new).with(url, ping: 30, logger: Slack::Logger.default).and_return(socket)
19
+ allow(Slack::RealTime::Socket).to(
20
+ receive(:new).with(url, ping: 30, logger: Slack::Logger.default).and_return(socket)
21
+ )
11
22
  allow(socket).to receive(:start_sync)
12
23
  allow(socket).to receive(:connect!)
13
24
  allow(ws).to receive(:on)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module RealTime
3
4
  class Event
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.configure do |config|
2
3
  config.before do
3
4
  @old_token = Slack::Config.token
data/spec/support/vcr.rb CHANGED
@@ -1,9 +1,14 @@
1
+ # frozen_string_literal: true
1
2
  require 'vcr'
2
3
  require 'webmock/rspec'
3
4
 
4
5
  VCR.configure do |config|
5
6
  config.cassette_library_dir = 'spec/fixtures/slack'
6
7
  config.hook_into :webmock
7
- config.default_cassette_options = { record: :new_episodes }
8
+ # config.default_cassette_options = { record: :new_episodes }
8
9
  config.configure_rspec_metadata!
10
+ config.before_record do |i|
11
+ i.request.body.gsub!(ENV['SLACK_API_TOKEN'], 'token') if ENV.key?('SLACK_API_TOKEN')
12
+ i.response.body.force_encoding('UTF-8')
13
+ end
9
14
  end
metadata CHANGED
@@ -1,43 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-09 00:00:00.000000000 Z
11
+ date: 2021-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activesupport
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: faraday
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ">="
32
18
  - !ruby/object:Gem::Version
33
- version: '0.9'
19
+ version: '1.0'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - ">="
39
25
  - !ruby/object:Gem::Version
40
- version: '0.9'
26
+ version: '1.0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: faraday_middleware
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +39,7 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: json
42
+ name: gli
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -67,7 +53,7 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: websocket-driver
56
+ name: hashie
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: gli
70
+ name: websocket-driver
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,13 +81,13 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: hashie
84
+ name: activesupport
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
102
88
  - !ruby/object:Gem::Version
103
89
  version: '0'
104
- type: :runtime
90
+ type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
@@ -165,7 +151,49 @@ dependencies:
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: vcr
154
+ name: rubocop
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.82.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.82.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop-performance
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.5.2
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.5.2
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.39.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.39.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: timecop
169
197
  requirement: !ruby/object:Gem::Requirement
170
198
  requirements:
171
199
  - - ">="
@@ -179,7 +207,7 @@ dependencies:
179
207
  - !ruby/object:Gem::Version
180
208
  version: '0'
181
209
  - !ruby/object:Gem::Dependency
182
- name: webmock
210
+ name: vcr
183
211
  requirement: !ruby/object:Gem::Requirement
184
212
  requirements:
185
213
  - - ">="
@@ -193,26 +221,27 @@ dependencies:
193
221
  - !ruby/object:Gem::Version
194
222
  version: '0'
195
223
  - !ruby/object:Gem::Dependency
196
- name: rubocop
224
+ name: webmock
197
225
  requirement: !ruby/object:Gem::Requirement
198
226
  requirements:
199
- - - '='
227
+ - - ">="
200
228
  - !ruby/object:Gem::Version
201
- version: 0.35.0
229
+ version: '0'
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
- - - '='
234
+ - - ">="
207
235
  - !ruby/object:Gem::Version
208
- version: 0.35.0
209
- description:
236
+ version: '0'
237
+ description:
210
238
  email: dblock@dblock.org
211
239
  executables:
212
240
  - slack
213
241
  extensions: []
214
242
  extra_rdoc_files: []
215
243
  files:
244
+ - ".github/FUNDING.yml"
216
245
  - ".gitignore"
217
246
  - ".gitmodules"
218
247
  - ".rspec"
@@ -229,19 +258,56 @@ files:
229
258
  - Rakefile
230
259
  - UPGRADING.md
231
260
  - bin/commands.rb
261
+ - bin/commands/admin_analytics.rb
262
+ - bin/commands/admin_apps.rb
263
+ - bin/commands/admin_apps_approved.rb
264
+ - bin/commands/admin_apps_requests.rb
265
+ - bin/commands/admin_apps_restricted.rb
266
+ - bin/commands/admin_barriers.rb
267
+ - bin/commands/admin_conversations.rb
268
+ - bin/commands/admin_conversations_ekm.rb
269
+ - bin/commands/admin_conversations_restrictAccess.rb
270
+ - bin/commands/admin_conversations_whitelist.rb
271
+ - bin/commands/admin_emoji.rb
272
+ - bin/commands/admin_inviteRequests.rb
273
+ - bin/commands/admin_inviteRequests_approved.rb
274
+ - bin/commands/admin_inviteRequests_denied.rb
275
+ - bin/commands/admin_teams.rb
276
+ - bin/commands/admin_teams_admins.rb
277
+ - bin/commands/admin_teams_owners.rb
278
+ - bin/commands/admin_teams_settings.rb
279
+ - bin/commands/admin_usergroups.rb
280
+ - bin/commands/admin_users.rb
281
+ - bin/commands/admin_users_session.rb
232
282
  - bin/commands/api.rb
283
+ - bin/commands/apps.rb
284
+ - bin/commands/apps_connections.rb
285
+ - bin/commands/apps_event_authorizations.rb
286
+ - bin/commands/apps_permissions.rb
287
+ - bin/commands/apps_permissions_resources.rb
288
+ - bin/commands/apps_permissions_scopes.rb
289
+ - bin/commands/apps_permissions_users.rb
233
290
  - bin/commands/auth.rb
291
+ - bin/commands/auth_teams.rb
234
292
  - bin/commands/bots.rb
293
+ - bin/commands/calls.rb
294
+ - bin/commands/calls_participants.rb
235
295
  - bin/commands/channels.rb
236
296
  - bin/commands/chat.rb
297
+ - bin/commands/chat_scheduledMessages.rb
298
+ - bin/commands/conversations.rb
299
+ - bin/commands/dialog.rb
237
300
  - bin/commands/dnd.rb
238
301
  - bin/commands/emoji.rb
239
302
  - bin/commands/files.rb
240
303
  - bin/commands/files_comments.rb
304
+ - bin/commands/files_remote.rb
241
305
  - bin/commands/groups.rb
242
306
  - bin/commands/im.rb
307
+ - bin/commands/migration.rb
243
308
  - bin/commands/mpim.rb
244
309
  - bin/commands/oauth.rb
310
+ - bin/commands/oauth_v2.rb
245
311
  - bin/commands/pins.rb
246
312
  - bin/commands/reactions.rb
247
313
  - bin/commands/reminders.rb
@@ -253,20 +319,18 @@ files:
253
319
  - bin/commands/usergroups.rb
254
320
  - bin/commands/usergroups_users.rb
255
321
  - bin/commands/users.rb
322
+ - bin/commands/users_admin.rb
323
+ - bin/commands/users_prefs.rb
256
324
  - bin/commands/users_profile.rb
325
+ - bin/commands/views.rb
326
+ - bin/commands/workflows.rb
257
327
  - bin/slack
258
- - examples/hi_real_time/Gemfile
259
- - examples/hi_real_time/hi.gif
260
- - examples/hi_real_time/hi.rb
261
328
  - examples/hi_real_time_and_web/Gemfile
262
329
  - examples/hi_real_time_and_web/hi.gif
263
330
  - examples/hi_real_time_and_web/hi.rb
264
- - examples/hi_real_time_async_celluloid/Gemfile
265
- - examples/hi_real_time_async_celluloid/Procfile
266
- - examples/hi_real_time_async_celluloid/hi.rb
267
- - examples/hi_real_time_async_eventmachine/Gemfile
268
- - examples/hi_real_time_async_eventmachine/Procfile
269
- - examples/hi_real_time_async_eventmachine/hi.rb
331
+ - examples/hi_real_time_async_async/Gemfile
332
+ - examples/hi_real_time_async_async/Procfile
333
+ - examples/hi_real_time_async_async/hi.rb
270
334
  - examples/hi_web/Gemfile
271
335
  - examples/hi_web/hi.gif
272
336
  - examples/hi_web/hi.rb
@@ -275,6 +339,8 @@ files:
275
339
  - lib/slack-ruby-client.rb
276
340
  - lib/slack.rb
277
341
  - lib/slack/config.rb
342
+ - lib/slack/events/config.rb
343
+ - lib/slack/events/request.rb
278
344
  - lib/slack/logger.rb
279
345
  - lib/slack/messages/formatting.rb
280
346
  - lib/slack/messages/message.rb
@@ -286,8 +352,7 @@ files:
286
352
  - lib/slack/real_time/api/typing.rb
287
353
  - lib/slack/real_time/client.rb
288
354
  - lib/slack/real_time/concurrency.rb
289
- - lib/slack/real_time/concurrency/celluloid.rb
290
- - lib/slack/real_time/concurrency/eventmachine.rb
355
+ - lib/slack/real_time/concurrency/async.rb
291
356
  - lib/slack/real_time/config.rb
292
357
  - lib/slack/real_time/models.rb
293
358
  - lib/slack/real_time/models/base.rb
@@ -304,19 +369,56 @@ files:
304
369
  - lib/slack/real_time/stores/store.rb
305
370
  - lib/slack/version.rb
306
371
  - lib/slack/web/api/endpoints.rb
372
+ - lib/slack/web/api/endpoints/admin_analytics.rb
373
+ - lib/slack/web/api/endpoints/admin_apps.rb
374
+ - lib/slack/web/api/endpoints/admin_apps_approved.rb
375
+ - lib/slack/web/api/endpoints/admin_apps_requests.rb
376
+ - lib/slack/web/api/endpoints/admin_apps_restricted.rb
377
+ - lib/slack/web/api/endpoints/admin_barriers.rb
378
+ - lib/slack/web/api/endpoints/admin_conversations.rb
379
+ - lib/slack/web/api/endpoints/admin_conversations_ekm.rb
380
+ - lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb
381
+ - lib/slack/web/api/endpoints/admin_conversations_whitelist.rb
382
+ - lib/slack/web/api/endpoints/admin_emoji.rb
383
+ - lib/slack/web/api/endpoints/admin_inviteRequests.rb
384
+ - lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb
385
+ - lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb
386
+ - lib/slack/web/api/endpoints/admin_teams.rb
387
+ - lib/slack/web/api/endpoints/admin_teams_admins.rb
388
+ - lib/slack/web/api/endpoints/admin_teams_owners.rb
389
+ - lib/slack/web/api/endpoints/admin_teams_settings.rb
390
+ - lib/slack/web/api/endpoints/admin_usergroups.rb
391
+ - lib/slack/web/api/endpoints/admin_users.rb
392
+ - lib/slack/web/api/endpoints/admin_users_session.rb
307
393
  - lib/slack/web/api/endpoints/api.rb
394
+ - lib/slack/web/api/endpoints/apps.rb
395
+ - lib/slack/web/api/endpoints/apps_connections.rb
396
+ - lib/slack/web/api/endpoints/apps_event_authorizations.rb
397
+ - lib/slack/web/api/endpoints/apps_permissions.rb
398
+ - lib/slack/web/api/endpoints/apps_permissions_resources.rb
399
+ - lib/slack/web/api/endpoints/apps_permissions_scopes.rb
400
+ - lib/slack/web/api/endpoints/apps_permissions_users.rb
308
401
  - lib/slack/web/api/endpoints/auth.rb
402
+ - lib/slack/web/api/endpoints/auth_teams.rb
309
403
  - lib/slack/web/api/endpoints/bots.rb
404
+ - lib/slack/web/api/endpoints/calls.rb
405
+ - lib/slack/web/api/endpoints/calls_participants.rb
310
406
  - lib/slack/web/api/endpoints/channels.rb
311
407
  - lib/slack/web/api/endpoints/chat.rb
408
+ - lib/slack/web/api/endpoints/chat_scheduledMessages.rb
409
+ - lib/slack/web/api/endpoints/conversations.rb
410
+ - lib/slack/web/api/endpoints/dialog.rb
312
411
  - lib/slack/web/api/endpoints/dnd.rb
313
412
  - lib/slack/web/api/endpoints/emoji.rb
314
413
  - lib/slack/web/api/endpoints/files.rb
315
414
  - lib/slack/web/api/endpoints/files_comments.rb
415
+ - lib/slack/web/api/endpoints/files_remote.rb
316
416
  - lib/slack/web/api/endpoints/groups.rb
317
417
  - lib/slack/web/api/endpoints/im.rb
418
+ - lib/slack/web/api/endpoints/migration.rb
318
419
  - lib/slack/web/api/endpoints/mpim.rb
319
420
  - lib/slack/web/api/endpoints/oauth.rb
421
+ - lib/slack/web/api/endpoints/oauth_v2.rb
320
422
  - lib/slack/web/api/endpoints/pins.rb
321
423
  - lib/slack/web/api/endpoints/presence.rb
322
424
  - lib/slack/web/api/endpoints/reactions.rb
@@ -329,25 +431,37 @@ files:
329
431
  - lib/slack/web/api/endpoints/usergroups.rb
330
432
  - lib/slack/web/api/endpoints/usergroups_users.rb
331
433
  - lib/slack/web/api/endpoints/users.rb
434
+ - lib/slack/web/api/endpoints/users_admin.rb
435
+ - lib/slack/web/api/endpoints/users_prefs.rb
332
436
  - lib/slack/web/api/endpoints/users_profile.rb
437
+ - lib/slack/web/api/endpoints/views.rb
438
+ - lib/slack/web/api/endpoints/workflows.rb
333
439
  - lib/slack/web/api/error.rb
440
+ - lib/slack/web/api/errors.rb
441
+ - lib/slack/web/api/errors/internal_error.rb
442
+ - lib/slack/web/api/errors/slack_error.rb
443
+ - lib/slack/web/api/errors/too_many_requests_error.rb
334
444
  - lib/slack/web/api/mixins.rb
335
445
  - lib/slack/web/api/mixins/channels.id.json
336
446
  - lib/slack/web/api/mixins/channels.id.rb
447
+ - lib/slack/web/api/mixins/conversations.id.rb
337
448
  - lib/slack/web/api/mixins/groups.id.json
338
449
  - lib/slack/web/api/mixins/groups.id.rb
450
+ - lib/slack/web/api/mixins/ids.id.rb
339
451
  - lib/slack/web/api/mixins/users.id.json
340
452
  - lib/slack/web/api/mixins/users.id.rb
341
453
  - lib/slack/web/api/mixins/users.search.json
342
454
  - lib/slack/web/api/mixins/users.search.rb
343
- - lib/slack/web/api/patches/chat.1.text-attachments-required.patch
344
- - lib/slack/web/api/patches/chat.2.attachments-json.patch
345
- - lib/slack/web/api/patches/chat.3.update-attachments-support.patch
455
+ - lib/slack/web/api/patches/chat.1.patch
456
+ - lib/slack/web/api/patches/dialog.1.open-json-support.patch
457
+ - lib/slack/web/api/patches/views.1.view-json.patch
458
+ - lib/slack/web/api/patches/views.1.views-published.patch
346
459
  - lib/slack/web/api/schema/group.json
347
460
  - lib/slack/web/api/schema/method.json
348
461
  - lib/slack/web/api/templates/command.erb
349
462
  - lib/slack/web/api/templates/commands.erb
350
463
  - lib/slack/web/api/templates/endpoints.erb
464
+ - lib/slack/web/api/templates/errors.erb
351
465
  - lib/slack/web/api/templates/method.erb
352
466
  - lib/slack/web/api/templates/method_spec.erb
353
467
  - lib/slack/web/client.rb
@@ -355,31 +469,40 @@ files:
355
469
  - lib/slack/web/faraday/connection.rb
356
470
  - lib/slack/web/faraday/request.rb
357
471
  - lib/slack/web/faraday/response/raise_error.rb
472
+ - lib/slack/web/faraday/response/wrap_error.rb
473
+ - lib/slack/web/pagination/cursor.rb
358
474
  - lib/slack_ruby_client.rb
359
475
  - lib/tasks/git.rake
360
476
  - lib/tasks/real_time.rake
361
477
  - lib/tasks/update.rake
362
478
  - lib/tasks/web.rake
363
- - screenshots/register-bot.png
479
+ - screenshots/create-app.png
364
480
  - slack-ruby-client.gemspec
365
481
  - slack.png
366
482
  - spec/fixtures/slack/web/429_error.yml
483
+ - spec/fixtures/slack/web/503_error.yml
367
484
  - spec/fixtures/slack/web/auth_test_error.yml
368
485
  - spec/fixtures/slack/web/auth_test_success.yml
369
486
  - spec/fixtures/slack/web/channels_info.yml
487
+ - spec/fixtures/slack/web/conversations_setTopic.yml
488
+ - spec/fixtures/slack/web/conversations_setTopic_one_page.yml
489
+ - spec/fixtures/slack/web/conversations_setTopic_paginated.yml
370
490
  - spec/fixtures/slack/web/groups_info.yml
491
+ - spec/fixtures/slack/web/paginated_users_list.yml
492
+ - spec/fixtures/slack/web/rtm_connect.yml
371
493
  - spec/fixtures/slack/web/rtm_start.yml
372
494
  - spec/fixtures/slack/web/users_info.yml
373
495
  - spec/fixtures/slack/web/users_list.yml
496
+ - spec/fixtures/slack/web/views_open_error.yml
374
497
  - spec/integration/integration_spec.rb
375
498
  - spec/slack/config_spec.rb
499
+ - spec/slack/events/config_spec.rb
500
+ - spec/slack/events/request_spec.rb
376
501
  - spec/slack/messages/formatting_spec.rb
377
502
  - spec/slack/real_time/api/message_spec.rb
378
503
  - spec/slack/real_time/api/ping_spec.rb
379
504
  - spec/slack/real_time/api/typing_spec.rb
380
505
  - spec/slack/real_time/client_spec.rb
381
- - spec/slack/real_time/concurrency/celluloid_spec.rb
382
- - spec/slack/real_time/concurrency/eventmachine_spec.rb
383
506
  - spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb
384
507
  - spec/slack/real_time/event_handlers/bot_spec.rb
385
508
  - spec/slack/real_time/event_handlers/channel_spec.rb
@@ -388,24 +511,63 @@ files:
388
511
  - spec/slack/real_time/event_handlers/im_spec.rb
389
512
  - spec/slack/real_time/event_handlers/team_spec.rb
390
513
  - spec/slack/real_time/event_handlers/user_spec.rb
514
+ - spec/slack/real_time/rtm_connect_spec.rb
391
515
  - spec/slack/real_time/rtm_start_spec.rb
392
516
  - spec/slack/real_time/store_spec.rb
393
517
  - spec/slack/slack_spec.rb
394
518
  - spec/slack/version_spec.rb
519
+ - spec/slack/web/api/endpoints/admin_analytics_spec.rb
520
+ - spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
521
+ - spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
522
+ - spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
523
+ - spec/slack/web/api/endpoints/admin_apps_spec.rb
524
+ - spec/slack/web/api/endpoints/admin_barriers_spec.rb
525
+ - spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb
526
+ - spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb
527
+ - spec/slack/web/api/endpoints/admin_conversations_spec.rb
528
+ - spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb
529
+ - spec/slack/web/api/endpoints/admin_emoji_spec.rb
530
+ - spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb
531
+ - spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb
532
+ - spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb
533
+ - spec/slack/web/api/endpoints/admin_teams_admins_spec.rb
534
+ - spec/slack/web/api/endpoints/admin_teams_owners_spec.rb
535
+ - spec/slack/web/api/endpoints/admin_teams_settings_spec.rb
536
+ - spec/slack/web/api/endpoints/admin_teams_spec.rb
537
+ - spec/slack/web/api/endpoints/admin_usergroups_spec.rb
538
+ - spec/slack/web/api/endpoints/admin_users_session_spec.rb
539
+ - spec/slack/web/api/endpoints/admin_users_spec.rb
395
540
  - spec/slack/web/api/endpoints/api_spec.rb
541
+ - spec/slack/web/api/endpoints/apps_connections_spec.rb
542
+ - spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb
543
+ - spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
544
+ - spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
545
+ - spec/slack/web/api/endpoints/apps_permissions_spec.rb
546
+ - spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
547
+ - spec/slack/web/api/endpoints/apps_spec.rb
548
+ - spec/slack/web/api/endpoints/auth_teams_spec.rb
396
549
  - spec/slack/web/api/endpoints/bots_spec.rb
550
+ - spec/slack/web/api/endpoints/calls_participants_spec.rb
551
+ - spec/slack/web/api/endpoints/calls_spec.rb
552
+ - spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb
553
+ - spec/slack/web/api/endpoints/conversations_spec.rb
397
554
  - spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
398
555
  - spec/slack/web/api/endpoints/custom_specs/channels_spec.rb
399
556
  - spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
557
+ - spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
400
558
  - spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
401
559
  - spec/slack/web/api/endpoints/custom_specs/users_spec.rb
560
+ - spec/slack/web/api/endpoints/custom_specs/views_spec.rb
402
561
  - spec/slack/web/api/endpoints/dnd_spec.rb
403
562
  - spec/slack/web/api/endpoints/emoji_spec.rb
404
563
  - spec/slack/web/api/endpoints/files_comments_spec.rb
564
+ - spec/slack/web/api/endpoints/files_remote_spec.rb
405
565
  - spec/slack/web/api/endpoints/files_spec.rb
406
566
  - spec/slack/web/api/endpoints/im_spec.rb
567
+ - spec/slack/web/api/endpoints/migration_spec.rb
407
568
  - spec/slack/web/api/endpoints/mpim_spec.rb
408
569
  - spec/slack/web/api/endpoints/oauth_spec.rb
570
+ - spec/slack/web/api/endpoints/oauth_v2_spec.rb
409
571
  - spec/slack/web/api/endpoints/pins_spec.rb
410
572
  - spec/slack/web/api/endpoints/reactions_spec.rb
411
573
  - spec/slack/web/api/endpoints/reminders_spec.rb
@@ -416,12 +578,21 @@ files:
416
578
  - spec/slack/web/api/endpoints/team_spec.rb
417
579
  - spec/slack/web/api/endpoints/usergroups_spec.rb
418
580
  - spec/slack/web/api/endpoints/usergroups_users_spec.rb
581
+ - spec/slack/web/api/endpoints/users_admin_spec.rb
582
+ - spec/slack/web/api/endpoints/users_prefs_spec.rb
419
583
  - spec/slack/web/api/endpoints/users_profile_spec.rb
584
+ - spec/slack/web/api/endpoints/views_spec.rb
585
+ - spec/slack/web/api/endpoints/workflows_spec.rb
420
586
  - spec/slack/web/api/error_spec.rb
587
+ - spec/slack/web/api/errors/slack_error_spec.rb
421
588
  - spec/slack/web/api/mixins/channels_spec.rb
589
+ - spec/slack/web/api/mixins/conversations_list_spec.rb
590
+ - spec/slack/web/api/mixins/conversations_spec.rb
422
591
  - spec/slack/web/api/mixins/groups_spec.rb
423
592
  - spec/slack/web/api/mixins/users_spec.rb
593
+ - spec/slack/web/api/pagination/cursor_spec.rb
424
594
  - spec/slack/web/client_spec.rb
595
+ - spec/slack/web/faraday/response/raise_error_spec.rb
425
596
  - spec/spec_helper.rb
426
597
  - spec/support/queue_with_timeout.rb
427
598
  - spec/support/real_time/concurrency/mock.rb
@@ -433,7 +604,7 @@ homepage: http://github.com/slack-ruby/slack-ruby-client
433
604
  licenses:
434
605
  - MIT
435
606
  metadata: {}
436
- post_install_message:
607
+ post_install_message:
437
608
  rdoc_options: []
438
609
  require_paths:
439
610
  - lib
@@ -448,29 +619,35 @@ required_rubygems_version: !ruby/object:Gem::Requirement
448
619
  - !ruby/object:Gem::Version
449
620
  version: 1.3.6
450
621
  requirements: []
451
- rubyforge_project:
452
- rubygems_version: 2.6.7
453
- signing_key:
622
+ rubygems_version: 3.1.3
623
+ signing_key:
454
624
  specification_version: 4
455
625
  summary: Slack Web and RealTime API client.
456
626
  test_files:
457
627
  - spec/fixtures/slack/web/429_error.yml
628
+ - spec/fixtures/slack/web/503_error.yml
458
629
  - spec/fixtures/slack/web/auth_test_error.yml
459
630
  - spec/fixtures/slack/web/auth_test_success.yml
460
631
  - spec/fixtures/slack/web/channels_info.yml
632
+ - spec/fixtures/slack/web/conversations_setTopic.yml
633
+ - spec/fixtures/slack/web/conversations_setTopic_one_page.yml
634
+ - spec/fixtures/slack/web/conversations_setTopic_paginated.yml
461
635
  - spec/fixtures/slack/web/groups_info.yml
636
+ - spec/fixtures/slack/web/paginated_users_list.yml
637
+ - spec/fixtures/slack/web/rtm_connect.yml
462
638
  - spec/fixtures/slack/web/rtm_start.yml
463
639
  - spec/fixtures/slack/web/users_info.yml
464
640
  - spec/fixtures/slack/web/users_list.yml
641
+ - spec/fixtures/slack/web/views_open_error.yml
465
642
  - spec/integration/integration_spec.rb
466
643
  - spec/slack/config_spec.rb
644
+ - spec/slack/events/config_spec.rb
645
+ - spec/slack/events/request_spec.rb
467
646
  - spec/slack/messages/formatting_spec.rb
468
647
  - spec/slack/real_time/api/message_spec.rb
469
648
  - spec/slack/real_time/api/ping_spec.rb
470
649
  - spec/slack/real_time/api/typing_spec.rb
471
650
  - spec/slack/real_time/client_spec.rb
472
- - spec/slack/real_time/concurrency/celluloid_spec.rb
473
- - spec/slack/real_time/concurrency/eventmachine_spec.rb
474
651
  - spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb
475
652
  - spec/slack/real_time/event_handlers/bot_spec.rb
476
653
  - spec/slack/real_time/event_handlers/channel_spec.rb
@@ -479,24 +656,63 @@ test_files:
479
656
  - spec/slack/real_time/event_handlers/im_spec.rb
480
657
  - spec/slack/real_time/event_handlers/team_spec.rb
481
658
  - spec/slack/real_time/event_handlers/user_spec.rb
659
+ - spec/slack/real_time/rtm_connect_spec.rb
482
660
  - spec/slack/real_time/rtm_start_spec.rb
483
661
  - spec/slack/real_time/store_spec.rb
484
662
  - spec/slack/slack_spec.rb
485
663
  - spec/slack/version_spec.rb
664
+ - spec/slack/web/api/endpoints/admin_analytics_spec.rb
665
+ - spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
666
+ - spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
667
+ - spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
668
+ - spec/slack/web/api/endpoints/admin_apps_spec.rb
669
+ - spec/slack/web/api/endpoints/admin_barriers_spec.rb
670
+ - spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb
671
+ - spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb
672
+ - spec/slack/web/api/endpoints/admin_conversations_spec.rb
673
+ - spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb
674
+ - spec/slack/web/api/endpoints/admin_emoji_spec.rb
675
+ - spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb
676
+ - spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb
677
+ - spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb
678
+ - spec/slack/web/api/endpoints/admin_teams_admins_spec.rb
679
+ - spec/slack/web/api/endpoints/admin_teams_owners_spec.rb
680
+ - spec/slack/web/api/endpoints/admin_teams_settings_spec.rb
681
+ - spec/slack/web/api/endpoints/admin_teams_spec.rb
682
+ - spec/slack/web/api/endpoints/admin_usergroups_spec.rb
683
+ - spec/slack/web/api/endpoints/admin_users_session_spec.rb
684
+ - spec/slack/web/api/endpoints/admin_users_spec.rb
486
685
  - spec/slack/web/api/endpoints/api_spec.rb
686
+ - spec/slack/web/api/endpoints/apps_connections_spec.rb
687
+ - spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb
688
+ - spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
689
+ - spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
690
+ - spec/slack/web/api/endpoints/apps_permissions_spec.rb
691
+ - spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
692
+ - spec/slack/web/api/endpoints/apps_spec.rb
693
+ - spec/slack/web/api/endpoints/auth_teams_spec.rb
487
694
  - spec/slack/web/api/endpoints/bots_spec.rb
695
+ - spec/slack/web/api/endpoints/calls_participants_spec.rb
696
+ - spec/slack/web/api/endpoints/calls_spec.rb
697
+ - spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb
698
+ - spec/slack/web/api/endpoints/conversations_spec.rb
488
699
  - spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
489
700
  - spec/slack/web/api/endpoints/custom_specs/channels_spec.rb
490
701
  - spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
702
+ - spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
491
703
  - spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
492
704
  - spec/slack/web/api/endpoints/custom_specs/users_spec.rb
705
+ - spec/slack/web/api/endpoints/custom_specs/views_spec.rb
493
706
  - spec/slack/web/api/endpoints/dnd_spec.rb
494
707
  - spec/slack/web/api/endpoints/emoji_spec.rb
495
708
  - spec/slack/web/api/endpoints/files_comments_spec.rb
709
+ - spec/slack/web/api/endpoints/files_remote_spec.rb
496
710
  - spec/slack/web/api/endpoints/files_spec.rb
497
711
  - spec/slack/web/api/endpoints/im_spec.rb
712
+ - spec/slack/web/api/endpoints/migration_spec.rb
498
713
  - spec/slack/web/api/endpoints/mpim_spec.rb
499
714
  - spec/slack/web/api/endpoints/oauth_spec.rb
715
+ - spec/slack/web/api/endpoints/oauth_v2_spec.rb
500
716
  - spec/slack/web/api/endpoints/pins_spec.rb
501
717
  - spec/slack/web/api/endpoints/reactions_spec.rb
502
718
  - spec/slack/web/api/endpoints/reminders_spec.rb
@@ -507,12 +723,21 @@ test_files:
507
723
  - spec/slack/web/api/endpoints/team_spec.rb
508
724
  - spec/slack/web/api/endpoints/usergroups_spec.rb
509
725
  - spec/slack/web/api/endpoints/usergroups_users_spec.rb
726
+ - spec/slack/web/api/endpoints/users_admin_spec.rb
727
+ - spec/slack/web/api/endpoints/users_prefs_spec.rb
510
728
  - spec/slack/web/api/endpoints/users_profile_spec.rb
729
+ - spec/slack/web/api/endpoints/views_spec.rb
730
+ - spec/slack/web/api/endpoints/workflows_spec.rb
511
731
  - spec/slack/web/api/error_spec.rb
732
+ - spec/slack/web/api/errors/slack_error_spec.rb
512
733
  - spec/slack/web/api/mixins/channels_spec.rb
734
+ - spec/slack/web/api/mixins/conversations_list_spec.rb
735
+ - spec/slack/web/api/mixins/conversations_spec.rb
513
736
  - spec/slack/web/api/mixins/groups_spec.rb
514
737
  - spec/slack/web/api/mixins/users_spec.rb
738
+ - spec/slack/web/api/pagination/cursor_spec.rb
515
739
  - spec/slack/web/client_spec.rb
740
+ - spec/slack/web/faraday/response/raise_error_spec.rb
516
741
  - spec/spec_helper.rb
517
742
  - spec/support/queue_with_timeout.rb
518
743
  - spec/support/real_time/concurrency/mock.rb