slack-ruby-client 0.11.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +5 -5
  2. data/.coveralls.yml +2 -0
  3. data/.github/FUNDING.yml +2 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/integration_test.yml +45 -0
  6. data/.github/workflows/lint.yml +14 -0
  7. data/.github/workflows/pr_lint.yml +21 -0
  8. data/.github/workflows/test.yml +56 -0
  9. data/.github/workflows/update_api.yml +81 -0
  10. data/.gitignore +7 -3
  11. data/.rubocop.yml +40 -2
  12. data/.rubocop_todo.yml +209 -55
  13. data/.ruby-version +1 -0
  14. data/CHANGELOG.md +257 -30
  15. data/CONTRIBUTING.md +44 -29
  16. data/Dangerfile +2 -0
  17. data/Gemfile +28 -6
  18. data/Gemfile.danger +6 -0
  19. data/LICENSE.md +1 -1
  20. data/README.md +473 -134
  21. data/RELEASING.md +2 -2
  22. data/Rakefile +2 -1
  23. data/SECURITY.md +9 -0
  24. data/UPGRADING.md +117 -3
  25. data/bin/commands/admin_analytics.rb +22 -0
  26. data/bin/commands/admin_apps.rb +57 -0
  27. data/bin/commands/admin_apps_activities.rb +32 -0
  28. data/bin/commands/admin_apps_approved.rb +24 -0
  29. data/bin/commands/admin_apps_config.rb +31 -0
  30. data/bin/commands/admin_apps_requests.rb +35 -0
  31. data/bin/commands/admin_apps_restricted.rb +24 -0
  32. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  33. data/bin/commands/admin_auth_policy.rb +45 -0
  34. data/bin/commands/admin_barriers.rb +53 -0
  35. data/bin/commands/admin_conversations.rb +260 -0
  36. data/bin/commands/admin_conversations_ekm.rb +23 -0
  37. data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
  38. data/bin/commands/admin_emoji.rb +60 -0
  39. data/bin/commands/admin_functions.rb +23 -0
  40. data/bin/commands/admin_functions_permissions.rb +31 -0
  41. data/bin/commands/admin_inviteRequests.rb +42 -0
  42. data/bin/commands/admin_inviteRequests_approved.rb +22 -0
  43. data/bin/commands/admin_inviteRequests_denied.rb +22 -0
  44. data/bin/commands/admin_roles.rb +46 -0
  45. data/bin/commands/admin_teams.rb +33 -0
  46. data/bin/commands/admin_teams_admins.rb +22 -0
  47. data/bin/commands/admin_teams_owners.rb +22 -0
  48. data/bin/commands/admin_teams_settings.rb +70 -0
  49. data/bin/commands/admin_usergroups.rb +54 -0
  50. data/bin/commands/admin_users.rb +106 -0
  51. data/bin/commands/admin_users_session.rb +84 -0
  52. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  53. data/bin/commands/admin_workflows.rb +42 -0
  54. data/bin/commands/admin_workflows_collaborators.rb +31 -0
  55. data/bin/commands/admin_workflows_permissions.rb +21 -0
  56. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  57. data/bin/commands/api.rb +15 -9
  58. data/bin/commands/apps.rb +21 -0
  59. data/bin/commands/apps_activities.rb +32 -0
  60. data/bin/commands/apps_auth_external.rb +32 -0
  61. data/bin/commands/apps_connections.rb +19 -0
  62. data/bin/commands/apps_datastore.rb +116 -0
  63. data/bin/commands/apps_event_authorizations.rb +22 -0
  64. data/bin/commands/apps_manifest.rb +58 -0
  65. data/bin/commands/assistant_search.rb +27 -0
  66. data/bin/commands/assistant_threads.rb +45 -0
  67. data/bin/commands/auth.rb +22 -15
  68. data/bin/commands/auth_teams.rb +22 -0
  69. data/bin/commands/bookmarks.rb +60 -0
  70. data/bin/commands/bots.rb +16 -8
  71. data/bin/commands/calls.rb +58 -0
  72. data/bin/commands/calls_participants.rb +31 -0
  73. data/bin/commands/canvases.rb +41 -0
  74. data/bin/commands/canvases_access.rb +34 -0
  75. data/bin/commands/canvases_sections.rb +21 -0
  76. data/bin/commands/chat.rb +158 -99
  77. data/bin/commands/chat_scheduledMessages.rb +25 -0
  78. data/bin/commands/conversations.rb +241 -157
  79. data/bin/commands/conversations_canvases.rb +22 -0
  80. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  81. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  82. data/bin/commands/dialog.rb +16 -9
  83. data/bin/commands/dnd.rb +47 -38
  84. data/bin/commands/emoji.rb +15 -7
  85. data/bin/commands/files.rb +113 -87
  86. data/bin/commands/files_comments.rb +16 -30
  87. data/bin/commands/files_remote.rb +84 -0
  88. data/bin/commands/functions.rb +31 -0
  89. data/bin/commands/functions_distributions_permissions.rb +61 -0
  90. data/bin/commands/functions_workflows_steps.rb +23 -0
  91. data/bin/commands/functions_workflows_steps_responses.rb +23 -0
  92. data/bin/commands/migration.rb +17 -9
  93. data/bin/commands/oauth.rb +19 -24
  94. data/bin/commands/oauth_v2.rb +35 -0
  95. data/bin/commands/openid_connect.rb +33 -0
  96. data/bin/commands/pins.rb +33 -30
  97. data/bin/commands/reactions.rb +53 -45
  98. data/bin/commands/reminders.rb +54 -41
  99. data/bin/commands/rtm.rb +16 -22
  100. data/bin/commands/search.rb +44 -33
  101. data/bin/commands/stars.rb +39 -29
  102. data/bin/commands/team.rb +50 -34
  103. data/bin/commands/team_billing.rb +19 -0
  104. data/bin/commands/team_externalTeams.rb +35 -0
  105. data/bin/commands/team_preferences.rb +19 -0
  106. data/bin/commands/team_profile.rb +15 -8
  107. data/bin/commands/tooling_tokens.rb +20 -0
  108. data/bin/commands/usergroups.rb +69 -53
  109. data/bin/commands/usergroups_users.rb +30 -19
  110. data/bin/commands/users.rb +114 -84
  111. data/bin/commands/users_admin.rb +29 -22
  112. data/bin/commands/users_discoverableContacts.rb +20 -0
  113. data/bin/commands/users_prefs.rb +14 -7
  114. data/bin/commands/users_profile.rb +27 -20
  115. data/bin/commands/views.rb +56 -0
  116. data/bin/commands/workflows.rb +44 -0
  117. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  118. data/bin/slack +50 -46
  119. data/examples/files_upload_v2/.env.example +1 -0
  120. data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
  121. data/examples/files_upload_v2/README.md +13 -0
  122. data/examples/files_upload_v2/files_upload_v2.rb +45 -0
  123. data/examples/hi_real_time_and_web/Gemfile +1 -0
  124. data/examples/hi_real_time_and_web/hi.rb +7 -3
  125. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  126. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
  127. data/examples/hi_web/Gemfile +1 -0
  128. data/examples/hi_web/hi.rb +1 -0
  129. data/examples/new_ticket/Gemfile +1 -0
  130. data/examples/new_ticket/new_ticket.rb +1 -0
  131. data/examples/oauth_v2/.env.example +4 -0
  132. data/examples/oauth_v2/Gemfile +7 -0
  133. data/examples/oauth_v2/README.md +33 -0
  134. data/examples/oauth_v2/oauth_v2.rb +60 -0
  135. data/lib/slack/config.rb +2 -2
  136. data/lib/slack/events/config.rb +32 -0
  137. data/lib/slack/events/request.rb +76 -0
  138. data/lib/slack/logger.rb +6 -5
  139. data/lib/slack/messages/formatting.rb +66 -1
  140. data/lib/slack/messages/message.rb +1 -4
  141. data/lib/slack/real_time/api/message.rb +6 -3
  142. data/lib/slack/real_time/api/message_id.rb +1 -0
  143. data/lib/slack/real_time/api/ping.rb +5 -2
  144. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  145. data/lib/slack/real_time/api/typing.rb +5 -2
  146. data/lib/slack/real_time/client.rb +117 -54
  147. data/lib/slack/real_time/concurrency/async.rb +142 -0
  148. data/lib/slack/real_time/concurrency.rb +2 -2
  149. data/lib/slack/real_time/config.rb +12 -13
  150. data/lib/slack/real_time/models/base.rb +1 -4
  151. data/lib/slack/real_time/models/bot.rb +1 -0
  152. data/lib/slack/real_time/models/channel.rb +5 -0
  153. data/lib/slack/real_time/models/im.rb +1 -0
  154. data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
  155. data/lib/slack/real_time/models/team.rb +1 -0
  156. data/lib/slack/real_time/models/user.rb +1 -0
  157. data/lib/slack/real_time/models.rb +3 -1
  158. data/lib/slack/real_time/socket.rb +49 -17
  159. data/lib/slack/real_time/stores/base.rb +28 -14
  160. data/lib/slack/real_time/stores/starter.rb +325 -287
  161. data/lib/slack/real_time/stores/store.rb +271 -186
  162. data/lib/slack/real_time/stores.rb +2 -7
  163. data/lib/slack/utils/security.rb +44 -0
  164. data/lib/slack/version.rb +2 -1
  165. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  166. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +53 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
  169. data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
  170. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
  171. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
  172. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  173. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  174. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  175. data/lib/slack/web/api/endpoints/admin_conversations.rb +397 -0
  176. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  177. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  178. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  179. data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
  180. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -0
  181. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  182. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  183. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  184. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  185. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  186. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  187. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  188. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  189. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  190. data/lib/slack/web/api/endpoints/admin_users.rb +167 -0
  191. data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
  192. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
  194. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
  195. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
  196. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  197. data/lib/slack/web/api/endpoints/api.rb +2 -3
  198. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  199. data/lib/slack/web/api/endpoints/apps_activities.rb +54 -0
  200. data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
  201. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  202. data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
  203. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
  205. data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
  206. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  207. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  208. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  209. data/lib/slack/web/api/endpoints/bookmarks.rb +90 -0
  210. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  211. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  212. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  213. data/lib/slack/web/api/endpoints/canvases.rb +54 -0
  214. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  215. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  216. data/lib/slack/web/api/endpoints/chat.rb +172 -87
  217. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  218. data/lib/slack/web/api/endpoints/conversations.rb +190 -64
  219. data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
  220. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  221. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  222. data/lib/slack/web/api/endpoints/dialog.rb +6 -10
  223. data/lib/slack/web/api/endpoints/dnd.rb +11 -5
  224. data/lib/slack/web/api/endpoints/emoji.rb +3 -0
  225. data/lib/slack/web/api/endpoints/files.rb +85 -36
  226. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  227. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  228. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  229. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
  230. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
  231. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
  232. data/lib/slack/web/api/endpoints/migration.rb +6 -3
  233. data/lib/slack/web/api/endpoints/oauth.rb +10 -32
  234. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  235. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  236. data/lib/slack/web/api/endpoints/pins.rb +11 -18
  237. data/lib/slack/web/api/endpoints/reactions.rb +31 -20
  238. data/lib/slack/web/api/endpoints/reminders.rb +25 -12
  239. data/lib/slack/web/api/endpoints/rtm.rb +4 -22
  240. data/lib/slack/web/api/endpoints/search.rb +33 -18
  241. data/lib/slack/web/api/endpoints/stars.rb +23 -10
  242. data/lib/slack/web/api/endpoints/team.rb +38 -7
  243. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  244. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  245. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  246. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  247. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  248. data/lib/slack/web/api/endpoints/usergroups.rb +44 -25
  249. data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
  250. data/lib/slack/web/api/endpoints/users.rb +57 -18
  251. data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
  252. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  253. data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
  254. data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
  255. data/lib/slack/web/api/endpoints/views.rb +86 -0
  256. data/lib/slack/web/api/endpoints/workflows.rb +63 -0
  257. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  258. data/lib/slack/web/api/endpoints.rb +136 -12
  259. data/lib/slack/web/api/error.rb +1 -0
  260. data/lib/slack/web/api/errors/server_error.rb +37 -0
  261. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  262. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  263. data/lib/slack/web/api/errors.rb +1396 -0
  264. data/lib/slack/web/api/helpers/files.rb +97 -0
  265. data/lib/slack/web/api/helpers.rb +13 -0
  266. data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
  267. data/lib/slack/web/api/mixins/ids.id.rb +4 -3
  268. data/lib/slack/web/api/mixins/users.id.rb +18 -4
  269. data/lib/slack/web/api/mixins/users.search.rb +3 -1
  270. data/lib/slack/web/api/mixins.rb +2 -2
  271. data/lib/slack/web/api/options.rb +26 -0
  272. data/lib/slack/web/api/patches/.gitkeep +0 -0
  273. data/lib/slack/web/api/templates/command.erb +19 -12
  274. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  275. data/lib/slack/web/api/templates/errors.erb +20 -0
  276. data/lib/slack/web/api/templates/method.erb +23 -3
  277. data/lib/slack/web/api/templates/method_spec.erb +40 -3
  278. data/lib/slack/web/client.rb +4 -1
  279. data/lib/slack/web/config.rb +9 -2
  280. data/lib/slack/web/faraday/connection.rb +11 -20
  281. data/lib/slack/web/faraday/options.rb +24 -0
  282. data/lib/slack/web/faraday/request.rb +6 -1
  283. data/lib/slack/web/faraday/response/raise_error.rb +14 -8
  284. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  285. data/lib/slack/web/pagination/cursor.rb +7 -7
  286. data/lib/slack-ruby-client.rb +18 -6
  287. data/lib/slack.rb +1 -0
  288. data/lib/slack_ruby_client.rb +1 -0
  289. data/lib/tasks/git.rake +1 -0
  290. data/lib/tasks/real_time.rake +51 -21
  291. data/lib/tasks/update.rake +1 -0
  292. data/lib/tasks/web.rake +43 -17
  293. data/slack-ruby-client.gemspec +10 -14
  294. metadata +191 -307
  295. data/.travis.yml +0 -30
  296. data/bin/commands/apps_permissions.rb +0 -22
  297. data/bin/commands/channels.rb +0 -175
  298. data/bin/commands/groups.rb +0 -172
  299. data/bin/commands/im.rb +0 -67
  300. data/bin/commands/mpim.rb +0 -63
  301. data/bin/commands.rb +0 -33
  302. data/examples/hi_real_time/hi.gif +0 -0
  303. data/examples/hi_real_time/hi.rb +0 -37
  304. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  305. data/examples/hi_real_time_async_celluloid/hi.rb +0 -36
  306. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  307. data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
  308. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  309. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
  310. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  311. data/lib/slack/web/api/endpoints/groups.rb +0 -255
  312. data/lib/slack/web/api/endpoints/im.rb +0 -113
  313. data/lib/slack/web/api/endpoints/mpim.rb +0 -98
  314. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  315. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  316. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  317. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  318. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  319. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  320. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  322. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  323. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +0 -17
  324. data/lib/slack/web/api/templates/commands.erb +0 -5
  325. data/screenshots/register-bot.png +0 -0
  326. data/spec/fixtures/slack/web/429_error.yml +0 -85
  327. data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
  328. data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
  329. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  330. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  331. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
  332. data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
  333. data/spec/fixtures/slack/web/rtm_start.yml +0 -104
  334. data/spec/fixtures/slack/web/users_info.yml +0 -130
  335. data/spec/fixtures/slack/web/users_list.yml +0 -72
  336. data/spec/integration/integration_spec.rb +0 -139
  337. data/spec/slack/config_spec.rb +0 -14
  338. data/spec/slack/messages/formatting_spec.rb +0 -43
  339. data/spec/slack/real_time/api/message_spec.rb +0 -15
  340. data/spec/slack/real_time/api/ping_spec.rb +0 -15
  341. data/spec/slack/real_time/api/typing_spec.rb +0 -15
  342. data/spec/slack/real_time/client_spec.rb +0 -425
  343. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
  344. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  345. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
  346. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
  347. data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
  348. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
  349. data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
  350. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
  351. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
  352. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
  353. data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
  354. data/spec/slack/real_time/rtm_start_spec.rb +0 -13
  355. data/spec/slack/real_time/store_spec.rb +0 -11
  356. data/spec/slack/slack_spec.rb +0 -58
  357. data/spec/slack/version_spec.rb +0 -7
  358. data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
  359. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  360. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
  361. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  362. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
  363. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  364. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
  365. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
  366. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  367. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
  368. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
  369. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
  370. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
  371. data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
  372. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  373. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
  374. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  375. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
  376. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
  377. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
  378. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
  379. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
  380. data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
  381. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
  382. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
  383. data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
  384. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
  385. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
  386. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
  387. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
  388. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
  389. data/spec/slack/web/api/error_spec.rb +0 -14
  390. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
  391. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  392. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
  393. data/spec/slack/web/api/mixins/users_spec.rb +0 -39
  394. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
  395. data/spec/slack/web/client_spec.rb +0 -174
  396. data/spec/spec_helper.rb +0 -14
  397. data/spec/support/queue_with_timeout.rb +0 -34
  398. data/spec/support/real_time/concurrency/mock.rb +0 -30
  399. data/spec/support/real_time/connected_client.rb +0 -21
  400. data/spec/support/real_time/event.rb +0 -11
  401. data/spec/support/token.rb +0 -10
  402. data/spec/support/vcr.rb +0 -9
  403. /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b4523b02fb8e41e2a529f21283e9631aca6e04bb
4
- data.tar.gz: 6324f7a54941b201b7aa729178418241accf836c
2
+ SHA256:
3
+ metadata.gz: c51153c945fdc89a1aa46ba02eb49256f7f2978277901f4d95e68c4d92197856
4
+ data.tar.gz: 9c450898f129249fcd6e2ab448830ba6e0f118e74c8af2f3e3e26e9419cc16ea
5
5
  SHA512:
6
- metadata.gz: 958f43b8c6c3591d81761e60c310c6cf2638b26ab79b9bf56748768a2e8800fdad85733262c5a93d4272b3861f475b2cbb2f1eabb01fadb3a2848a09c82be3d7
7
- data.tar.gz: 1787862cbf85c3cd762c8b044afd89d98c92ee0cd959aaf94da5b5d513cd3c24c3d8de005eece992a5f13ed76a8279231d40d8ade39dd32c4efe692c9118b79c
6
+ metadata.gz: e1df2c875eb165a043823bd911fc2ac585693dc625bd32070081d01a4cbd4667c32252d287f14960a72266e28f2cd9787b59ef34101fb076e551448094bc1385
7
+ data.tar.gz: c5bce1883b654790df7992f8dec417cf3976ef210f0d35dd219de54666ec556c957fec9762a094149269c3d195f1c0333fab129ba10320d3f959448924bb42d0
data/.coveralls.yml ADDED
@@ -0,0 +1,2 @@
1
+ service_name: github
2
+
@@ -0,0 +1,2 @@
1
+ github: [dblock]
2
+ tidelift: rubygems/slack-ruby-client
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
@@ -0,0 +1,45 @@
1
+ name: Integration Tests
2
+ on: push
3
+ jobs:
4
+ check-slack-api-token:
5
+ runs-on: ubuntu-latest
6
+ outputs:
7
+ SLACK_API_TOKEN_EXISTS: ${{ steps.check-slack-api-token.outputs.SLACK_API_TOKEN_EXISTS }}
8
+ steps:
9
+ - name: Check for SLACK_API_TOKEN availability
10
+ id: check-slack-api-token
11
+ shell: bash
12
+ run: |
13
+ if [ "${{ secrets.SLACK_API_TOKEN }}" != '' ]; then
14
+ echo "SLACK_API_TOKEN_EXISTS=true" >> $GITHUB_OUTPUT;
15
+ else
16
+ echo "SLACK_API_TOKEN_EXISTS=false" >> $GITHUB_OUTPUT;
17
+ fi
18
+
19
+ test:
20
+ runs-on: ubuntu-latest
21
+ needs: [check-slack-api-token]
22
+ if: needs.check-slack-api-token.outputs.SLACK_API_TOKEN_EXISTS == 'true'
23
+ strategy:
24
+ matrix:
25
+ entry:
26
+ - { ruby: 2.7, concurrency: async-websocket }
27
+ name: test (ruby=${{ matrix.entry.ruby }}, concurrency=${{ matrix.entry.concurrency || 'none' }})
28
+ steps:
29
+ - name: Checkout
30
+ uses: actions/checkout@v4
31
+ - name: Set up Ruby
32
+ uses: ruby/setup-ruby@v1
33
+ with:
34
+ ruby-version: ${{ matrix.entry.ruby }}
35
+ bundler-cache: true
36
+ - name: Run Tests
37
+ env:
38
+ CONCURRENCY: ${{ matrix.entry.concurrency }}
39
+ SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }}
40
+ RACK_ENV: test
41
+ SPEC: "--pattern spec/**/integration/*_spec.rb"
42
+ SPEC_OPTS: "--pattern spec/**/integration/*_spec.rb"
43
+ run: |
44
+ bundle install
45
+ bundle exec rake
@@ -0,0 +1,14 @@
1
+ name: Lint
2
+ on: [push, pull_request]
3
+ jobs:
4
+ rubocop:
5
+ name: RuboCop
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - name: Checkout
9
+ uses: actions/checkout@v4
10
+ - name: Set up Ruby
11
+ uses: ruby/setup-ruby@v1
12
+ with:
13
+ bundler-cache: true
14
+ - run: bundle exec rubocop
@@ -0,0 +1,21 @@
1
+ name: PR Lint
2
+ on: pull_request
3
+ jobs:
4
+ danger:
5
+ name: Dangerfile
6
+ runs-on: ubuntu-latest
7
+ env:
8
+ BUNDLE_GEMFILE: ${{ github.workspace }}/Gemfile.danger
9
+ steps:
10
+ - name: Checkout
11
+ uses: actions/checkout@v4
12
+ with:
13
+ fetch-depth: 0
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ bundler-cache: true
18
+ - run: |
19
+ # Personal access token for dangerpr-bot - public, but base64 encoded to avoid tripping up GitHub
20
+ TOKEN=$(echo -n Z2hwX0xNQ3VmanBFeTBvYkZVTWh6NVNqVFFBOEUxU25abzBqRUVuaAo= | base64 --decode)
21
+ DANGER_GITHUB_API_TOKEN=$TOKEN bundle exec danger --verbose
@@ -0,0 +1,56 @@
1
+ name: Tests
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ runs-on: ubuntu-latest
6
+ strategy:
7
+ matrix:
8
+ entry:
9
+ - { ruby: "2.7" }
10
+ - { ruby: "2.7", concurrency: async-websocket }
11
+ - { ruby: "3.0" }
12
+ - { ruby: "3.1" }
13
+ - { ruby: "3.2" }
14
+ - { ruby: "3.3" }
15
+ - { ruby: "3.4" }
16
+ - { ruby: ruby-head, ignore: true }
17
+ - { ruby: jruby-head, ignore: true }
18
+ name: test (ruby=${{ matrix.entry.ruby }}${{ matrix.entry.concurrency && ', concurrency=' }}${{ matrix.entry.concurrency }})
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+ - name: Set Concurrency
23
+ run: |
24
+ if [[ ! -z "${{ matrix.entry.concurrency }}" ]]; then
25
+ echo "Setting concurrency to ${{ matrix.entry.concurrency }}."
26
+ echo "CONCURRENCY=${{ matrix.entry.concurrency }}" >> $GITHUB_ENV
27
+ fi
28
+ - name: Set up Ruby
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.entry.ruby }}
32
+ bundler-cache: true # 'bundle install' and cache gems
33
+ continue-on-error: ${{ matrix.entry.ignore || false }}
34
+ - name: Run Tests
35
+ continue-on-error: ${{ matrix.entry.ignore || false }}
36
+ env:
37
+ RACK_ENV: test
38
+ run: bundle exec rake
39
+ - name: Coveralls
40
+ uses: coverallsapp/github-action@v2
41
+ with:
42
+ parallel: true
43
+ github-token: ${{ secrets.GITHUB_TOKEN }}
44
+ flag-name: run-${{ matrix.entry.ruby }}${{ matrix.entry.concurrency && '-'}}${{ matrix.entry.concurrency }}
45
+ allow-empty: ${{ matrix.entry.ignore || false }}
46
+
47
+ finish:
48
+ name: coveralls
49
+ needs: test
50
+ runs-on: ubuntu-latest
51
+ steps:
52
+ - name: Close Parallel Build
53
+ uses: coverallsapp/github-action@v2
54
+ with:
55
+ parallel-finished: true
56
+ carryforward: 'run-2.7,run-2.7-async-websocket,run-3.0,run-3.1,run-3.2,run-3.3'
@@ -0,0 +1,81 @@
1
+ name: Update API
2
+ on:
3
+ workflow_dispatch:
4
+ schedule:
5
+ - cron: "15 23 * * 1"
6
+ jobs:
7
+ update-api:
8
+ if: ${{ github.repository == 'slack-ruby/slack-ruby-client' }}
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: write
12
+ pull-requests: write
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ submodules: recursive
17
+ fetch-depth: 0
18
+ - name: Config git to rebase
19
+ run: git config --global pull.rebase true
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: "3.2"
24
+ bundler-cache: true
25
+ - name: Update API from slack-api-ref
26
+ run: bundle exec rake slack:api:update
27
+ - name: Remove files added by setup-ruby
28
+ run: rm -rf vendor
29
+ - name: Get current date
30
+ id: date
31
+ run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
32
+ - name: Get slack-api-ref ref
33
+ id: api-ref
34
+ run: echo "::set-output name=api-ref::$(git rev-parse --short HEAD:lib/slack/web/api/slack-api-ref)"
35
+ - name: GitHub App token
36
+ if: ${{ github.repository == 'slack-ruby/slack-ruby-client' }}
37
+ id: github_app_token
38
+ uses: tibdex/github-app-token@v2.1.0
39
+ with:
40
+ app_id: ${{ secrets.CI_APP_ID }}
41
+ private_key: ${{ secrets.CI_APP_PRIVATE_KEY }}
42
+ installation_id: 36985419
43
+ - name: Create pull request
44
+ id: cpr
45
+ uses: peter-evans/create-pull-request@v7
46
+ with:
47
+ token: ${{ secrets.GITHUB_TOKEN }}
48
+ commit-message: Update API from slack-api-ref@${{ steps.api-ref.outputs.api-ref }} (${{ steps.date.outputs.date }})
49
+ title: Update API from slack-api-ref@${{ steps.api-ref.outputs.api-ref }}
50
+ body: |
51
+ Update API from [slack-api-ref](https://github.com/slack-ruby/slack-api-ref).
52
+ Rev: ${{ steps.api-ref.outputs.api-ref }}
53
+ Date: ${{ steps.date.outputs.date }}
54
+ branch: automated-api-update
55
+ base: master
56
+ committer: slack-ruby-ci-bot <noreply@github.com>
57
+ author: slack-ruby-ci-bot <noreply@github.com>
58
+ - name: Check out update branch
59
+ if: ${{ steps.cpr.outputs.pull-request-number != '' }}
60
+ run: |
61
+ git fetch origin automated-api-update
62
+ git checkout automated-api-update
63
+ - name: Update CHANGELOG
64
+ uses: jacobtomlinson/gha-find-replace@v3
65
+ if: ${{ steps.cpr.outputs.pull-request-number != '' }}
66
+ with:
67
+ include: CHANGELOG.md
68
+ find: "\\* Your contribution here."
69
+ replace: "* [#${{steps.cpr.outputs.pull-request-number}}](https://github.com/slack-ruby/slack-ruby-client/pull/${{steps.cpr.outputs.pull-request-number}}): Update API from [slack-api-ref@${{ steps.api-ref.outputs.api-ref }}](https://github.com/slack-ruby/slack-api-ref/commit/${{ steps.api-ref.outputs.api-ref }}) - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).\n* Your contribution here."
70
+ - name: Commit and Push
71
+ if: ${{ steps.cpr.outputs.pull-request-number != '' }}
72
+ run: |
73
+ git config --local user.name 'slack-ruby-ci-bot'
74
+ git config --local user.email 'noreply@github.com'
75
+ git config --local --unset-all http.https://github.com/.extraheader || true
76
+ AUTH=$(echo -n "x-access-token:${{ steps.github_app_token.outputs.token || secrets.GITHUB_TOKEN }}" | base64)
77
+ echo "::add-mask::${AUTH}"
78
+ git config --local http.https://github.com/.extraheader "AUTHORIZATION: basic ${AUTH}"
79
+ git add CHANGELOG.md
80
+ git commit --amend --no-edit
81
+ git push origin automated-api-update -f
data/.gitignore CHANGED
@@ -1,6 +1,10 @@
1
- .env
2
- pkg
3
- Gemfile.lock
4
1
  .DS_Store
5
2
  .bundle
3
+ .byebug_history
4
+ .env
6
5
  .idea
6
+ .rspec_status
7
+ Gemfile.lock
8
+ Gemfile.danger.lock
9
+ pkg
10
+ coverage
data/.rubocop.yml CHANGED
@@ -1,9 +1,47 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ require:
4
+ - rubocop-performance
5
+ - rubocop-rake
6
+ - rubocop-rspec
7
+
1
8
  AllCops:
9
+ TargetRubyVersion: 2.7
10
+ NewCops: enable
11
+ DisplayCopNames: true
2
12
  Exclude:
13
+ - bin/**/*
3
14
  - vendor/**/*
4
15
  - lib/slack/web/api/slack-api-ref/**/*
16
+ - lib/slack/web/api/endpoints/* # Auto-generated
17
+ - lib/slack/web/api/errors.rb # Auto-generated
18
+ - spec/slack/web/api/endpoints/* # Auto-generated
5
19
 
6
- Naming/MethodName:
20
+ Layout/EmptyLineAfterMagicComment:
7
21
  Enabled: false
8
22
 
9
- inherit_from: .rubocop_todo.yml
23
+ Metrics/BlockLength:
24
+ Enabled: false
25
+
26
+ Metrics/ClassLength:
27
+ Max: 250
28
+
29
+ Layout/LineLength:
30
+ Max: 128
31
+
32
+ Style/Documentation:
33
+ Enabled: false
34
+
35
+ Style/ModuleFunction:
36
+ Enabled: false
37
+
38
+ Style/NumericLiterals:
39
+ Exclude:
40
+ - 'spec/**/*'
41
+
42
+ RSpec/InstanceVariable:
43
+ Enabled: false
44
+
45
+ Naming/FileName:
46
+ Exclude:
47
+ - lib/slack-ruby-client.rb # Required to match gemspec name
data/.rubocop_todo.yml CHANGED
@@ -1,94 +1,248 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2017-11-25 11:28:32 -0500 using RuboCop version 0.51.0.
3
+ # on 2025-07-19 11:04:04 UTC using RuboCop version 1.26.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 4
10
- Lint/HandleExceptions:
9
+ # Offense count: 1
10
+ # Configuration parameters: AllowedMethods.
11
+ # AllowedMethods: enums
12
+ Lint/ConstantDefinitionInBlock:
11
13
  Exclude:
12
- - 'lib/slack-ruby-client.rb'
13
- - 'spec/slack/real_time/concurrency/celluloid_spec.rb'
14
- - 'spec/slack/real_time/concurrency/eventmachine_spec.rb'
14
+ - 'lib/tasks/real_time.rake'
15
+
16
+ # Offense count: 2
17
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
18
+ Lint/EmptyBlock:
19
+ Exclude:
20
+ - 'spec/slack/real_time/concurrency/clients/async_spec.rb'
21
+ - 'spec/support/real_time/concurrency/mock.rb'
15
22
 
16
23
  # Offense count: 1
17
- Lint/RescueWithoutErrorClass:
24
+ # Configuration parameters: AllowComments.
25
+ Lint/EmptyClass:
18
26
  Exclude:
19
- - 'lib/slack/real_time/concurrency/celluloid.rb'
27
+ - 'spec/support/real_time/concurrency/mock.rb'
20
28
 
21
- # Offense count: 18
22
- Metrics/AbcSize:
23
- Max: 44
29
+ # Offense count: 2
30
+ Lint/MissingSuper:
31
+ Exclude:
32
+ - 'lib/slack/real_time/stores/starter.rb'
33
+ - 'lib/slack/real_time/stores/store.rb'
24
34
 
25
- # Offense count: 81
26
- # Configuration parameters: CountComments, ExcludedMethods.
27
- Metrics/BlockLength:
28
- Max: 421
35
+ # Offense count: 1
36
+ # This cop supports unsafe auto-correction (--auto-correct-all).
37
+ Lint/NonDeterministicRequireOrder:
38
+ Exclude:
39
+ - 'spec/spec_helper.rb'
29
40
 
30
41
  # Offense count: 2
31
- # Configuration parameters: CountComments.
32
- Metrics/ClassLength:
33
- Max: 166
42
+ # This cop supports safe auto-correction (--auto-correct).
43
+ Lint/RedundantCopDisableDirective:
44
+ Exclude:
45
+ - 'lib/slack-ruby-client.rb'
34
46
 
35
- # Offense count: 4
36
- Metrics/CyclomaticComplexity:
37
- Max: 9
47
+ # Offense count: 13
48
+ # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
49
+ Metrics/AbcSize:
50
+ Max: 67
38
51
 
39
- # Offense count: 741
40
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
41
- # URISchemes: http, https
42
- Metrics/LineLength:
43
- Max: 266
52
+ # Offense count: 6
53
+ # Configuration parameters: IgnoredMethods.
54
+ Metrics/CyclomaticComplexity:
55
+ Max: 15
44
56
 
45
- # Offense count: 10
46
- # Configuration parameters: CountComments.
57
+ # Offense count: 17
58
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
47
59
  Metrics/MethodLength:
48
- Max: 42
60
+ Max: 45
49
61
 
50
62
  # Offense count: 1
51
- # Configuration parameters: CountComments.
52
- Metrics/ModuleLength:
53
- Max: 113
63
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
64
+ Metrics/ParameterLists:
65
+ Max: 6
54
66
 
55
67
  # Offense count: 3
68
+ # Configuration parameters: IgnoredMethods.
56
69
  Metrics/PerceivedComplexity:
57
- Max: 11
70
+ Max: 17
71
+
72
+ # Offense count: 2
73
+ # Configuration parameters: MinSize.
74
+ Performance/CollectionLiteralInLoop:
75
+ Exclude:
76
+ - 'lib/slack/web/api/helpers/files.rb'
77
+ - 'spec/slack/web/api/endpoints/custom/files_spec.rb'
58
78
 
59
79
  # Offense count: 1
60
- # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
61
- # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
62
- Naming/FileName:
80
+ # This cop supports safe auto-correction (--auto-correct).
81
+ Performance/MapCompact:
63
82
  Exclude:
64
- - 'lib/slack-ruby-client.rb'
83
+ - 'lib/slack/web/api/helpers/files.rb'
84
+
85
+ # Offense count: 2
86
+ # This cop supports safe auto-correction (--auto-correct).
87
+ Performance/RegexpMatch:
88
+ Exclude:
89
+ - 'lib/tasks/web.rake'
90
+
91
+ # Offense count: 3
92
+ # This cop supports safe auto-correction (--auto-correct).
93
+ Performance/StringInclude:
94
+ Exclude:
95
+ - 'lib/tasks/web.rake'
65
96
 
66
- # Offense count: 63
67
- Style/Documentation:
97
+ # Offense count: 10
98
+ # This cop supports safe auto-correction (--auto-correct).
99
+ RSpec/ContextMethod:
100
+ Exclude:
101
+ - 'spec/slack/messages/formatting_spec.rb'
102
+ - 'spec/slack/web/api/mixins/users_spec.rb'
103
+
104
+ # Offense count: 86
105
+ # Configuration parameters: Prefixes.
106
+ # Prefixes: when, with, without
107
+ RSpec/ContextWording:
68
108
  Enabled: false
69
109
 
70
- # Offense count: 137
71
- # Configuration parameters: AllowedVariables.
72
- Style/GlobalVars:
110
+ # Offense count: 75
111
+ # Configuration parameters: CountAsOne.
112
+ RSpec/ExampleLength:
113
+ Max: 18
114
+
115
+ # Offense count: 19
116
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
117
+ # Include: **/*_spec*rb*, **/spec/**/*
118
+ RSpec/FilePath:
73
119
  Enabled: false
74
120
 
75
- # Offense count: 2
76
- # Configuration parameters: MinBodyLength.
77
- Style/GuardClause:
78
- Exclude:
79
- - 'lib/slack/real_time/stores/store.rb'
80
- - 'lib/slack/web/faraday/response/raise_error.rb'
121
+ # Offense count: 86
122
+ # Configuration parameters: .
123
+ # SupportedStyles: have_received, receive
124
+ RSpec/MessageSpies:
125
+ EnforcedStyle: receive
126
+
127
+ # Offense count: 103
128
+ RSpec/MultipleExpectations:
129
+ Max: 5
130
+
131
+ # Offense count: 7
132
+ # Configuration parameters: AllowSubject.
133
+ RSpec/MultipleMemoizedHelpers:
134
+ Max: 9
81
135
 
82
136
  # Offense count: 3
83
- # Configuration parameters: EnforcedStyle, SupportedStyles.
84
- # SupportedStyles: module_function, extend_self
85
- Style/ModuleFunction:
137
+ # Configuration parameters: IgnoreSharedExamples.
138
+ RSpec/NamedSubject:
139
+ Exclude:
140
+ - 'spec/slack/web/api/mixins/conversations_list_spec.rb'
141
+
142
+ # Offense count: 48
143
+ RSpec/NestedGroups:
144
+ Max: 6
145
+
146
+ # Offense count: 6
147
+ RSpec/StubbedMock:
148
+ Exclude:
149
+ - 'spec/slack/real_time/client_spec.rb'
150
+ - 'spec/slack/real_time/event_handlers/event_handlers_spec.rb'
151
+ - 'spec/slack/web/api/endpoints/custom/conversations_spec.rb'
152
+ - 'spec/slack/web/api/pagination/cursor_spec.rb'
153
+ - 'spec/slack/web/client_spec.rb'
154
+
155
+ # Offense count: 14
156
+ RSpec/SubjectStub:
157
+ Exclude:
158
+ - 'spec/slack/web/api/mixins/conversations_spec.rb'
159
+ - 'spec/slack/web/api/mixins/users_spec.rb'
160
+
161
+ # Offense count: 4
162
+ # This cop supports safe auto-correction (--auto-correct).
163
+ # Configuration parameters: .
164
+ # SupportedStyles: constant, string
165
+ RSpec/VerifiedDoubleReference:
166
+ EnforcedStyle: string
167
+
168
+ # Offense count: 10
169
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
170
+ RSpec/VerifiedDoubles:
171
+ Exclude:
172
+ - 'spec/slack/events/request_spec.rb'
173
+ - 'spec/slack/real_time/client_spec.rb'
174
+ - 'spec/slack/web/faraday/response/raise_error_spec.rb'
175
+ - 'spec/support/real_time/connected_client.rb'
176
+
177
+ # Offense count: 1
178
+ # This cop supports safe auto-correction (--auto-correct).
179
+ Rake/Desc:
180
+ Exclude:
181
+ - 'lib/tasks/git.rake'
182
+
183
+ # Offense count: 1
184
+ # Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
185
+ # SupportedStyles: inline, group
186
+ Style/AccessModifierDeclarations:
187
+ Exclude:
188
+ - 'lib/slack/real_time/client.rb'
189
+
190
+ # Offense count: 4
191
+ # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
192
+ # SupportedStyles: annotated, template, unannotated
193
+ Style/FormatStringToken:
194
+ EnforcedStyle: unannotated
195
+
196
+ # Offense count: 5
197
+ # This cop supports safe auto-correction (--auto-correct).
198
+ Style/GlobalStdStream:
86
199
  Exclude:
87
- - 'lib/slack/config.rb'
88
- - 'lib/slack/real_time/config.rb'
89
- - 'lib/slack/web/config.rb'
200
+ - 'lib/slack/logger.rb'
201
+ - 'lib/tasks/real_time.rake'
202
+ - 'spec/integration/integration_spec.rb'
203
+ - 'spec/slack/web/client_spec.rb'
90
204
 
91
205
  # Offense count: 1
206
+ # This cop supports unsafe auto-correction (--auto-correct-all).
207
+ Style/MapToHash:
208
+ Exclude:
209
+ - 'spec/slack/web/api/endpoints/custom/files_spec.rb'
210
+
211
+ # Offense count: 1
212
+ Style/MultilineBlockChain:
213
+ Exclude:
214
+ - 'lib/slack/web/api/helpers/files.rb'
215
+
216
+ # Offense count: 1
217
+ # This cop supports safe auto-correction (--auto-correct).
92
218
  Style/MultilineTernaryOperator:
93
219
  Exclude:
94
- - 'spec/support/real_time/connected_client.rb'
220
+ - 'spec/support/vcr.rb'
221
+
222
+ # Offense count: 3
223
+ Style/OpenStructUse:
224
+ Exclude:
225
+ - 'spec/slack/web/api/endpoints/custom/chat_spec.rb'
226
+ - 'spec/slack/web/api/pagination/cursor_spec.rb'
227
+ - 'spec/slack/web/faraday/response/raise_error_spec.rb'
228
+
229
+ # Offense count: 1
230
+ # Configuration parameters: AllowedMethods.
231
+ # AllowedMethods: respond_to_missing?
232
+ Style/OptionalBooleanParameter:
233
+ Exclude:
234
+ - 'spec/support/queue_with_timeout.rb'
235
+
236
+ # Offense count: 1
237
+ # This cop supports safe auto-correction (--auto-correct).
238
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
239
+ # AllowedMethods: present?, blank?, presence, try, try!
240
+ Style/SafeNavigation:
241
+ Exclude:
242
+ - 'lib/slack/web/api/helpers/files.rb'
243
+
244
+ # Offense count: 1
245
+ # This cop supports unsafe auto-correction (--auto-correct-all).
246
+ Style/SlicingWithRange:
247
+ Exclude:
248
+ - 'lib/slack/web/api/mixins/ids.id.rb'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.6