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
  module Slack
2
3
  module RealTime
3
4
  module Stores
@@ -26,67 +27,142 @@ module Slack
26
27
  @users = {}
27
28
  end
28
29
 
29
- attrs.users.each do |data|
30
+ attrs.users&.each do |data|
30
31
  user = Models::User.new(data)
31
32
  @users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
32
- end if attrs.users
33
+ end
33
34
 
34
35
  @channels = {}
35
- attrs.channels.each do |data|
36
+ attrs.channels&.each do |data|
36
37
  @channels[data.id] = Models::Channel.new(data)
37
- end if attrs.channels
38
+ end
38
39
 
39
40
  @bots = {}
40
- attrs.bots.each do |data|
41
+ attrs.bots&.each do |data|
41
42
  @bots[data.id] = Models::Bot.new(data)
42
- end if attrs.bots
43
+ end
43
44
 
44
45
  @groups = {}
45
- attrs.groups.each do |data|
46
+ attrs.groups&.each do |data|
46
47
  @groups[data.id] = Models::Group.new(data)
47
- end if attrs.groups
48
+ end
48
49
 
49
50
  @ims = {}
50
- attrs.ims.each do |data|
51
+ attrs.ims&.each do |data|
51
52
  @ims[data.id] = Models::Im.new(data)
52
- end if attrs.ims
53
+ end
53
54
  end
54
55
 
55
56
  ### RealTime Events
56
57
 
58
+ # A shared channel invite was sent to a Slack user.
59
+ # @see https://api.slack.com/events/shared_channel_invite_received
60
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/shared_channel_invite_received.json
61
+ # on :shared_channel_invite_received do |data|
62
+
63
+ # An enterprise grid migration has started on an external workspace..
64
+ # @see https://api.slack.com/events/external_org_migration_started
65
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
66
+ # on :external_org_migration_started do |data|
67
+
68
+ # An enterprise grid migration has finished on an external workspace..
69
+ # @see https://api.slack.com/events/external_org_migration_finished
70
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
71
+ # on :external_org_migration_finished do |data|
72
+
73
+ # A private channel was deleted.
74
+ # @see https://api.slack.com/events/group_deleted
75
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
76
+ # on :group_deleted do |data|
77
+
78
+ # Determine the current presence status for a list of users.
79
+ # @see https://api.slack.com/events/presence_query
80
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_query.json
81
+ # on :presence_query do |data|
82
+
83
+ # The membership of an existing User Group has changed.
84
+ # @see https://api.slack.com/events/subteam_members_changed
85
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_members_changed.json
86
+ # on :subteam_members_changed do |data|
87
+
88
+ # Subscribe to presence events for the specified users.
89
+ # @see https://api.slack.com/events/presence_sub
90
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_sub.json
91
+ # on :presence_sub do |data|
92
+
93
+ # A user left a public or private channel.
94
+ # @see https://api.slack.com/events/member_left_channel
95
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_left_channel.json
96
+ # on :member_left_channel do |data|
97
+
98
+ # A user joined a public or private channel.
99
+ # @see https://api.slack.com/events/member_joined_channel
100
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_joined_channel.json
101
+ # on :member_joined_channel do |data|
102
+
103
+ # The server intends to close the connection soon..
104
+ # @see https://api.slack.com/events/goodbye
105
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/goodbye.json
106
+ # on :goodbye do |data|
107
+
108
+ # Verifies ownership of an Events API Request URL.
109
+ # @see https://api.slack.com/events/url_verification
110
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/url_verification.json
111
+ # on :url_verification do |data|
112
+
113
+ # A message was posted in a multiparty direct message channel.
114
+ # @see https://api.slack.com/events/message.mpim
115
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.mpim.json
116
+ # on :message.mpim do |data|
117
+
118
+ # A message was posted in a direct message channel.
119
+ # @see https://api.slack.com/events/message.im
120
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.im.json
121
+ # on :message.im do |data|
122
+
123
+ # A message was posted to a private channel.
124
+ # @see https://api.slack.com/events/message.groups
125
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.groups.json
126
+ # on :message.groups do |data|
127
+
128
+ # A message was posted to a channel.
129
+ # @see https://api.slack.com/events/message.channels
130
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.channels.json
131
+ # on :message.channels do |data|
132
+
57
133
  # A direct message read marker was updated.
58
134
  # @see https://api.slack.com/events/im_marked
59
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_marked.json
135
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
60
136
  # on :im_marked do |data|
61
137
 
62
138
  # Bulk updates were made to a DM channel's history.
63
139
  # @see https://api.slack.com/events/im_history_changed
64
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_history_changed.json
140
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
65
141
  # on :im_history_changed do |data|
66
142
 
67
143
  # The list of accounts a user is signed into has changed.
68
144
  # @see https://api.slack.com/events/accounts_changed
69
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/accounts_changed.json
145
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/accounts_changed.json
70
146
  # on :accounts_changed do |data|
71
147
 
72
148
  # An integration bot was added.
73
149
  # @see https://api.slack.com/events/bot_added
74
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/bot_added.json
150
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_added.json
75
151
  on :bot_added do |data|
76
152
  bots[data.bot.id] = Models::Bot.new(data.bot)
77
153
  end
78
154
 
79
155
  # An integration bot was changed.
80
156
  # @see https://api.slack.com/events/bot_changed
81
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/bot_changed.json
157
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
82
158
  on :bot_changed do |data|
83
159
  bot = bots[data.bot.id]
84
- bot.merge!(data.bot) if bot
160
+ bot&.merge!(data.bot)
85
161
  end
86
162
 
87
163
  # A team channel was archived.
88
164
  # @see https://api.slack.com/events/channel_archive
89
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_archive.json
165
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_archive.json
90
166
  on :channel_archive do |data|
91
167
  channel = channels[data.channel]
92
168
  channel.is_archived = true if channel
@@ -94,7 +170,7 @@ module Slack
94
170
 
95
171
  # A team channel was created.
96
172
  # @see https://api.slack.com/events/channel_created
97
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_created.json
173
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_created.json
98
174
  on :channel_created do |data|
99
175
  channel = Models::Channel.new(data.channel)
100
176
  channels[channel.id] = channel
@@ -102,19 +178,19 @@ module Slack
102
178
 
103
179
  # A team channel was deleted.
104
180
  # @see https://api.slack.com/events/channel_deleted
105
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_deleted.json
181
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_deleted.json
106
182
  on :channel_deleted do |data|
107
183
  channels.delete(data.channel)
108
184
  end
109
185
 
110
186
  # Bulk updates were made to a channel's history.
111
187
  # @see https://api.slack.com/events/channel_history_changed
112
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_history_changed.json
188
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_history_changed.json
113
189
  # on :channel_history_changed do |data|
114
190
 
115
191
  # You joined a channel.
116
192
  # @see https://api.slack.com/events/channel_joined
117
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_joined.json
193
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_joined.json
118
194
  on :channel_joined do |data|
119
195
  channel_id = data.channel.id
120
196
  channel = channels[channel_id]
@@ -127,7 +203,7 @@ module Slack
127
203
 
128
204
  # You left a channel.
129
205
  # @see https://api.slack.com/events/channel_left
130
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_left.json
206
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_left.json
131
207
  on :channel_left do |data|
132
208
  channel = channels[data.channel]
133
209
  channel.members.delete(self.self.id) if channel.key? :members
@@ -135,12 +211,12 @@ module Slack
135
211
 
136
212
  # Your channel read marker was updated.
137
213
  # @see https://api.slack.com/events/channel_marked
138
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_marked.json
214
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_marked.json
139
215
  # on :channel_marked do |data|
140
216
 
141
217
  # A team channel was renamed.
142
218
  # @see https://api.slack.com/events/channel_rename
143
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_rename.json
219
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_rename.json
144
220
  on :channel_rename do |data|
145
221
  channel = channels[data.channel.id]
146
222
  channel.name = data.channel.name if channel
@@ -148,7 +224,7 @@ module Slack
148
224
 
149
225
  # A team channel was unarchived.
150
226
  # @see https://api.slack.com/events/channel_unarchive
151
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_unarchive.json
227
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_unarchive.json
152
228
  on :channel_unarchive do |data|
153
229
  channel = channels[data.channel]
154
230
  channel.is_archived = false if channel
@@ -156,84 +232,84 @@ module Slack
156
232
 
157
233
  # A team slash command has been added or changed.
158
234
  # @see https://api.slack.com/events/commands_changed
159
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/commands_changed.json
235
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/commands_changed.json
160
236
  # on :commands_changed do |data|
161
237
 
162
238
  # Do not Disturb settings changed for the current user.
163
239
  # @see https://api.slack.com/events/dnd_updated
164
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/dnd_updated.json
240
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated.json
165
241
  # on :dnd_updated do |data|
166
242
 
167
243
  # Do not Disturb settings changed for a team member.
168
244
  # @see https://api.slack.com/events/dnd_updated_user
169
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/dnd_updated_user.json
245
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated_user.json
170
246
  # on :dnd_updated_user do |data|
171
247
 
172
248
  # The team email domain has changed.
173
249
  # @see https://api.slack.com/events/email_domain_changed
174
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/email_domain_changed.json
250
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/email_domain_changed.json
175
251
  on :email_domain_changed do |data|
176
252
  team.email_domain = data.email_domain
177
253
  end
178
254
 
179
255
  # A team custom emoji has been added or changed.
180
256
  # @see https://api.slack.com/events/emoji_changed
181
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/emoji_changed.json
257
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/emoji_changed.json
182
258
  # on :emoji_changed do |data|
183
259
 
184
260
  # A file was changed.
185
261
  # @see https://api.slack.com/events/file_change
186
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_change.json
262
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_change.json
187
263
  # on :file_change do |data|
188
264
 
189
265
  # A file comment was added.
190
266
  # @see https://api.slack.com/events/file_comment_added
191
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_comment_added.json
267
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_added.json
192
268
  # on :file_comment_added do |data| do
193
269
 
194
270
  # A file comment was deleted.
195
271
  # @see https://api.slack.com/events/file_comment_deleted
196
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_comment_deleted.json
272
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_deleted.json
197
273
  # on :file_comment_deleted do |data|
198
274
 
199
275
  # A file comment was edited.
200
276
  # @see https://api.slack.com/events/file_comment_edited
201
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_comment_edited.json
277
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_edited.json
202
278
  # on :file_comment_edited do |data|
203
279
 
204
280
  # A file was created.
205
281
  # @see https://api.slack.com/events/file_created
206
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_created.json
282
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_created.json
207
283
  # on :file_created do |data|
208
284
 
209
285
  # A file was deleted.
210
286
  # @see https://api.slack.com/events/file_deleted
211
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_deleted.json
287
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_deleted.json
212
288
  # on :file_deleted do |data|
213
289
 
214
290
  # A file was made private.
215
291
  # @see https://api.slack.com/events/file_private
216
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_private.json
292
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_private.json
217
293
  # on :file_private do |data|
218
294
 
219
295
  # A file was made public.
220
296
  # @see https://api.slack.com/events/file_public
221
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_public.json
297
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_public.json
222
298
  # on :file_public do |data|
223
299
 
224
300
  # A file was shared.
225
301
  # @see https://api.slack.com/events/file_shared
226
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_shared.json
302
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_shared.json
227
303
  # on :file_shared do |data|
228
304
 
229
305
  # A file was unshared.
230
306
  # @see https://api.slack.com/events/file_unshared
231
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/file_unshared.json
307
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_unshared.json
232
308
  # on :file_unshared do |data|
233
309
 
234
310
  # A private group was archived.
235
311
  # @see https://api.slack.com/events/group_archive
236
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_archive.json
312
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_archive.json
237
313
  on :group_archive do |data|
238
314
  channel = groups[data.channel]
239
315
  channel.is_archived = true if channel
@@ -241,46 +317,46 @@ module Slack
241
317
 
242
318
  # You closed a group channel.
243
319
  # @see https://api.slack.com/events/group_close
244
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_close.json
320
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_close.json
245
321
  on :group_close do |data|
246
322
  groups[data.channel].is_open = false
247
323
  end
248
324
 
249
325
  # Bulk updates were made to a group's history.
250
326
  # @see https://api.slack.com/events/group_history_changed
251
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_history_changed.json
327
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_history_changed.json
252
328
  # on :group_history_changed do |data|
253
329
 
254
330
  # You joined a private group.
255
331
  # @see https://api.slack.com/events/group_joined
256
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_joined.json
332
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_joined.json
257
333
  on :group_joined do |data|
258
334
  groups[data.channel.id] = Models::Channel.new(data.channel)
259
335
  end
260
336
 
261
337
  # You left a private group.
262
338
  # @see https://api.slack.com/events/group_left
263
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_left.json
339
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
264
340
  on :group_left do |data|
265
341
  channel = groups[data.channel]
266
- channel.members.delete(self.self.id) if channel && channel.key?(:members)
342
+ channel.members.delete(self.self.id) if channel&.key?(:members)
267
343
  end
268
344
 
269
345
  # A private group read marker was updated.
270
346
  # @see https://api.slack.com/events/group_marked
271
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_marked.json
347
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_marked.json
272
348
  # on :group_marked do |data|
273
349
 
274
350
  # You opened a group channel.
275
351
  # @see https://api.slack.com/events/group_open
276
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_open.json
352
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_open.json
277
353
  on :group_open do |data|
278
354
  groups[data.channel].is_open = true
279
355
  end
280
356
 
281
357
  # A private group was renamed.
282
358
  # @see https://api.slack.com/events/group_rename
283
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_rename.json
359
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_rename.json
284
360
  on :group_rename do |data|
285
361
  channel = groups[data.channel.id]
286
362
  channel.name = data.channel.name if channel
@@ -288,7 +364,7 @@ module Slack
288
364
 
289
365
  # A private group was unarchived.
290
366
  # @see https://api.slack.com/events/group_unarchive
291
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/group_unarchive.json
367
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_unarchive.json
292
368
  on :group_unarchive do |data|
293
369
  channel = groups[data.channel]
294
370
  channel.is_archived = false if channel
@@ -296,57 +372,59 @@ module Slack
296
372
 
297
373
  # You closed a direct message channel.
298
374
  # @see https://api.slack.com/events/im_close
299
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_close.json
375
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
300
376
  on :im_close do |data|
301
- return unless ims && ims.key?(data.channel)
377
+ return unless ims&.key?(data.channel)
378
+
302
379
  ims[data.channel].is_open = false
303
380
  end
304
381
 
305
382
  # A direct message channel was created.
306
383
  # @see https://api.slack.com/events/im_created
307
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_created.json
384
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_created.json
308
385
  on :im_created do |data|
309
386
  ims[data.channel.id] = Models::Im.new(data.channel)
310
387
  end
311
388
 
312
389
  # Bulk updates were made to a DM channel's history.
313
390
  # @see https://api.slack.com/events/im_history_changed
314
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_history_changed.json
391
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
315
392
  # on :im_history_changed do |data|
316
393
 
317
394
  # A direct message read marker was updated.
318
395
  # @see https://api.slack.com/events/im_marked
319
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_marked.json
396
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
320
397
  # on :im_marked do |data|
321
398
 
322
399
  # You opened a direct message channel.
323
400
  # @see https://api.slack.com/events/im_open
324
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/im_open.json
401
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
325
402
  on :im_open do |data|
326
- return unless ims && ims.key?(data.channel)
403
+ return unless ims&.key?(data.channel)
404
+
327
405
  ims[data.channel].is_open = true
328
406
  end
329
407
 
330
408
  # You manually updated your presence.
331
409
  # @see https://api.slack.com/events/manual_presence_change
332
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/manual_presence_change.json
410
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/manual_presence_change.json
333
411
  on :manual_presence_change do |data|
334
412
  self.self.presence = data.presence
335
413
  end
336
414
 
337
415
  # A pin was added to a channel.
338
416
  # @see https://api.slack.com/events/pin_added
339
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/pin_added.json
417
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_added.json
340
418
  # on :pin_added do |data|
341
419
 
342
420
  # A pin was removed from a channel.
343
421
  # @see https://api.slack.com/events/pin_removed
344
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/pin_removed.json
422
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_removed.json
345
423
  # on :pin_removed do |data|
346
424
 
347
425
  # You have updated your preferences.
348
426
  # @see https://api.slack.com/events/pref_change
349
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/pref_change.json
427
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pref_change.json
350
428
  on :pref_change do |data|
351
429
  self.self.prefs ||= {}
352
430
  self.self.prefs[data.name] = data.value
@@ -354,7 +432,7 @@ module Slack
354
432
 
355
433
  # A team member's presence changed.
356
434
  # @see https://api.slack.com/events/presence_change
357
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/presence_change.json
435
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_change.json
358
436
  on :presence_change do |data|
359
437
  user = users[data.user]
360
438
  user.presence = data.presence if user
@@ -362,52 +440,52 @@ module Slack
362
440
 
363
441
  # A team member has added an emoji reaction to an item.
364
442
  # @see https://api.slack.com/events/reaction_added
365
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/reaction_added.json
443
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_added.json
366
444
  # on :reaction_added do |data|
367
445
 
368
446
  # A team member removed an emoji reaction.
369
447
  # @see https://api.slack.com/events/reaction_removed
370
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/reaction_removed.json
448
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_removed.json
371
449
  # on :reaction_removed do |data|
372
450
 
373
451
  # Experimental.
374
452
  # @see https://api.slack.com/events/reconnect_url
375
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/reconnect_url.json
453
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reconnect_url.json
376
454
  # on :reconnect_url do |data|
377
455
 
378
456
  # A team member has starred an item.
379
457
  # @see https://api.slack.com/events/star_added
380
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/star_added.json
458
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_added.json
381
459
  # on :star_added do |data|
382
460
 
383
461
  # A team member removed a star.
384
462
  # @see https://api.slack.com/events/star_removed
385
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/star_removed.json
463
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_removed.json
386
464
  # on :star_removed do |data|
387
465
 
388
466
  # A user group has been added to the team.
389
467
  # @see https://api.slack.com/events/subteam_created
390
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_created.json
468
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_created.json
391
469
  # on :subteam_created do |data|
392
470
 
393
471
  # You have been added to a user group.
394
472
  # @see https://api.slack.com/events/subteam_self_added
395
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_self_added.json
473
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_added.json
396
474
  # on :subteam_self_added do |data|
397
475
 
398
476
  # You have been removed from a user group.
399
477
  # @see https://api.slack.com/events/subteam_self_removed
400
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_self_removed.json
478
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_removed.json
401
479
  # on :subteam_self_removed do |data|
402
480
 
403
481
  # An existing user group has been updated or its members changed.
404
482
  # @see https://api.slack.com/events/subteam_updated
405
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_updated.json
483
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_updated.json
406
484
  # on :subteam_updated do |data|
407
485
 
408
486
  # The team domain has changed.
409
487
  # @see https://api.slack.com/events/team_domain_change
410
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_domain_change.json
488
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_domain_change.json
411
489
  on :team_domain_change do |data|
412
490
  team.url = data.url
413
491
  team.domain = data.domain
@@ -415,26 +493,26 @@ module Slack
415
493
 
416
494
  # A new team member has joined.
417
495
  # @see https://api.slack.com/events/team_join
418
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_join.json
496
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_join.json
419
497
  on :team_join do |data|
420
498
  users[data.user.id] = Models::User.new(data.user)
421
499
  end
422
500
 
423
501
  # The team is being migrated between servers.
424
502
  # @see https://api.slack.com/events/team_migration_started
425
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_migration_started.json
503
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_migration_started.json
426
504
  # on :team_migration_started do |data|
427
505
 
428
506
  # The team billing plan has changed.
429
507
  # @see https://api.slack.com/events/team_plan_change
430
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_plan_change.json
508
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_plan_change.json
431
509
  on :team_plan_change do |data|
432
510
  team.plan = data.plan
433
511
  end
434
512
 
435
513
  # A team preference has been updated.
436
514
  # @see https://api.slack.com/events/team_pref_change
437
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_pref_change.json
515
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_pref_change.json
438
516
  on :team_pref_change do |data|
439
517
  team.prefs ||= {}
440
518
  team.prefs[data.name] = data.value
@@ -442,36 +520,36 @@ module Slack
442
520
 
443
521
  # Team profile fields have been updated.
444
522
  # @see https://api.slack.com/events/team_profile_change
445
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_change.json
523
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_change.json
446
524
  # on :team_profile_change do |data|
447
525
 
448
526
  # Team profile fields have been deleted.
449
527
  # @see https://api.slack.com/events/team_profile_delete
450
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_delete.json
528
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_delete.json
451
529
  # on :team_profile_delete do |data|
452
530
 
453
531
  # Team profile fields have been reordered.
454
532
  # @see https://api.slack.com/events/team_profile_reorder
455
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_reorder.json
533
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_reorder.json
456
534
  # on :team_profile_reorder do |data|
457
535
 
458
536
  # The team name has changed.
459
537
  # @see https://api.slack.com/events/team_rename
460
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_rename.json
538
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_rename.json
461
539
  on :team_rename do |data|
462
540
  team.name = data.name
463
541
  end
464
542
 
465
543
  # A team member's data has changed.
466
544
  # @see https://api.slack.com/events/user_change
467
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/user_change.json
545
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_change.json
468
546
  on :user_change do |data|
469
547
  users[data.user.id] = Models::User.new(data.user)
470
548
  end
471
549
 
472
550
  # A channel member is typing a message.
473
551
  # @see https://api.slack.com/events/user_typing
474
- # @see https://github.com/dblock/slack-api-ref/blob/master/events/user_typing.json
552
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_typing.json
475
553
  # on :user_typing do |data|
476
554
  end
477
555
  end
@@ -1,6 +1,7 @@
1
- require 'slack/real_time/stores/base'
2
- require 'slack/real_time/stores/starter'
3
- require 'slack/real_time/stores/store'
1
+ # frozen_string_literal: true
2
+ require_relative 'stores/base'
3
+ require_relative 'stores/starter'
4
+ require_relative 'stores/store'
4
5
 
5
6
  module Slack
6
7
  module RealTime
data/lib/slack/version.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
- VERSION = '0.7.2'.freeze
3
+ VERSION = '1.0.0'
3
4
  end