slack-ruby-client 2.6.0 → 3.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 (206) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +4 -10
  3. data/.github/workflows/update_api.yml +1 -1
  4. data/.rubocop_todo.yml +58 -71
  5. data/CHANGELOG.md +15 -0
  6. data/CONTRIBUTING.md +1 -1
  7. data/Gemfile +0 -9
  8. data/LICENSE.md +1 -1
  9. data/README.md +31 -220
  10. data/Rakefile +0 -1
  11. data/UPGRADING.md +4 -0
  12. data/bin/commands/admin_analytics.rb +1 -1
  13. data/bin/commands/admin_apps.rb +4 -4
  14. data/bin/commands/admin_apps_activities.rb +7 -7
  15. data/bin/commands/admin_apps_approved.rb +4 -4
  16. data/bin/commands/admin_apps_config.rb +3 -1
  17. data/bin/commands/admin_apps_requests.rb +5 -5
  18. data/bin/commands/admin_apps_restricted.rb +4 -4
  19. data/bin/commands/admin_audit_anomaly_allow.rb +6 -6
  20. data/bin/commands/admin_auth_policy.rb +5 -5
  21. data/bin/commands/admin_barriers.rb +3 -3
  22. data/bin/commands/admin_conversations.rb +15 -15
  23. data/bin/commands/admin_conversations_ekm.rb +2 -2
  24. data/bin/commands/admin_conversations_restrictAccess.rb +5 -5
  25. data/bin/commands/admin_emoji.rb +5 -5
  26. data/bin/commands/admin_functions.rb +1 -1
  27. data/bin/commands/admin_inviteRequests.rb +3 -3
  28. data/bin/commands/admin_inviteRequests_approved.rb +1 -1
  29. data/bin/commands/admin_inviteRequests_denied.rb +1 -1
  30. data/bin/commands/admin_roles.rb +3 -3
  31. data/bin/commands/admin_teams.rb +3 -3
  32. data/bin/commands/admin_teams_admins.rb +2 -2
  33. data/bin/commands/admin_teams_owners.rb +2 -2
  34. data/bin/commands/admin_teams_settings.rb +5 -5
  35. data/bin/commands/admin_usergroups.rb +4 -4
  36. data/bin/commands/admin_users.rb +12 -11
  37. data/bin/commands/admin_users_session.rb +6 -5
  38. data/bin/commands/admin_users_unsupportedVersions.rb +1 -1
  39. data/bin/commands/admin_workflows.rb +6 -6
  40. data/bin/commands/admin_workflows_collaborators.rb +2 -2
  41. data/bin/commands/apps_activities.rb +7 -7
  42. data/bin/commands/apps_auth_external.rb +1 -1
  43. data/bin/commands/apps_datastore.rb +12 -12
  44. data/bin/commands/apps_event_authorizations.rb +3 -3
  45. data/bin/commands/apps_manifest.rb +1 -1
  46. data/bin/commands/assistant_search.rb +18 -2
  47. data/bin/commands/assistant_threads.rb +2 -2
  48. data/bin/commands/auth.rb +1 -1
  49. data/bin/commands/auth_teams.rb +1 -1
  50. data/bin/commands/bookmarks.rb +6 -6
  51. data/bin/commands/calls.rb +5 -5
  52. data/bin/commands/canvases.rb +2 -2
  53. data/bin/commands/canvases_access.rb +1 -1
  54. data/bin/commands/chat.rb +23 -24
  55. data/bin/commands/conversations.rb +8 -8
  56. data/bin/commands/conversations_canvases.rb +1 -1
  57. data/bin/commands/conversations_externalInvitePermissions.rb +1 -1
  58. data/bin/commands/conversations_requestSharedInvite.rb +4 -4
  59. data/bin/commands/dnd.rb +1 -1
  60. data/bin/commands/files.rb +5 -5
  61. data/bin/commands/files_remote.rb +1 -1
  62. data/bin/commands/functions.rb +1 -1
  63. data/bin/commands/functions_distributions_permissions.rb +15 -15
  64. data/bin/commands/functions_workflows_steps.rb +2 -2
  65. data/bin/commands/functions_workflows_steps_responses.rb +2 -2
  66. data/bin/commands/migration.rb +2 -2
  67. data/bin/commands/oauth_v2.rb +1 -1
  68. data/bin/commands/openid_connect.rb +1 -1
  69. data/bin/commands/reactions.rb +3 -3
  70. data/bin/commands/reminders.rb +2 -2
  71. data/bin/commands/rtm.rb +15 -0
  72. data/bin/commands/search.rb +4 -4
  73. data/bin/commands/slackLists.rb +37 -0
  74. data/bin/commands/slackLists_access.rb +34 -0
  75. data/bin/commands/slackLists_download.rb +31 -0
  76. data/bin/commands/slackLists_items.rb +76 -0
  77. data/bin/commands/team.rb +1 -1
  78. data/bin/commands/team_externalTeams.rb +4 -4
  79. data/bin/commands/usergroups.rb +10 -10
  80. data/bin/commands/usergroups_users.rb +5 -5
  81. data/bin/commands/users.rb +1 -1
  82. data/bin/commands/users_discoverableContacts.rb +1 -1
  83. data/bin/commands/views.rb +4 -4
  84. data/bin/commands/workflows_featured.rb +50 -0
  85. data/bin/commands/workflows_triggers_permissions.rb +7 -7
  86. data/examples/files_upload_v2/files_upload_v2.rb +8 -0
  87. data/lib/slack/events/request.rb +1 -0
  88. data/lib/slack/version.rb +1 -1
  89. data/lib/slack/web/api/endpoints/admin_analytics.rb +2 -2
  90. data/lib/slack/web/api/endpoints/admin_apps.rb +8 -8
  91. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +14 -14
  92. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +5 -7
  93. data/lib/slack/web/api/endpoints/admin_apps_config.rb +6 -3
  94. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +7 -9
  95. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +5 -7
  96. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +5 -5
  97. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +14 -14
  98. data/lib/slack/web/api/endpoints/admin_barriers.rb +8 -8
  99. data/lib/slack/web/api/endpoints/admin_conversations.rb +27 -28
  100. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  101. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +11 -12
  102. data/lib/slack/web/api/endpoints/admin_emoji.rb +5 -5
  103. data/lib/slack/web/api/endpoints/admin_functions.rb +2 -2
  104. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +6 -6
  105. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +2 -2
  106. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  107. data/lib/slack/web/api/endpoints/admin_roles.rb +8 -8
  108. data/lib/slack/web/api/endpoints/admin_teams.rb +3 -3
  109. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +3 -4
  110. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -3
  111. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +12 -13
  112. data/lib/slack/web/api/endpoints/admin_usergroups.rb +11 -11
  113. data/lib/slack/web/api/endpoints/admin_users.rb +27 -25
  114. data/lib/slack/web/api/endpoints/admin_users_session.rb +12 -9
  115. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +2 -2
  116. data/lib/slack/web/api/endpoints/admin_workflows.rb +12 -12
  117. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +6 -6
  118. data/lib/slack/web/api/endpoints/apps_activities.rb +14 -14
  119. data/lib/slack/web/api/endpoints/apps_auth_external.rb +2 -2
  120. data/lib/slack/web/api/endpoints/apps_datastore.rb +8 -15
  121. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -3
  122. data/lib/slack/web/api/endpoints/apps_manifest.rb +5 -5
  123. data/lib/slack/web/api/endpoints/assistant_search.rb +28 -3
  124. data/lib/slack/web/api/endpoints/assistant_threads.rb +6 -6
  125. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  126. data/lib/slack/web/api/endpoints/auth_teams.rb +2 -2
  127. data/lib/slack/web/api/endpoints/bookmarks.rb +14 -14
  128. data/lib/slack/web/api/endpoints/calls.rb +10 -10
  129. data/lib/slack/web/api/endpoints/canvases.rb +4 -4
  130. data/lib/slack/web/api/endpoints/canvases_access.rb +3 -3
  131. data/lib/slack/web/api/endpoints/chat.rb +53 -55
  132. data/lib/slack/web/api/endpoints/conversations.rb +16 -16
  133. data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
  134. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +3 -3
  135. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +8 -8
  136. data/lib/slack/web/api/endpoints/dnd.rb +2 -2
  137. data/lib/slack/web/api/endpoints/files.rb +11 -11
  138. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  139. data/lib/slack/web/api/endpoints/functions.rb +3 -3
  140. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +24 -24
  141. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +4 -4
  142. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +4 -4
  143. data/lib/slack/web/api/endpoints/migration.rb +1 -1
  144. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  145. data/lib/slack/web/api/endpoints/openid_connect.rb +2 -2
  146. data/lib/slack/web/api/endpoints/reactions.rb +6 -6
  147. data/lib/slack/web/api/endpoints/reminders.rb +4 -4
  148. data/lib/slack/web/api/endpoints/rtm.rb +23 -0
  149. data/lib/slack/web/api/endpoints/search.rb +8 -8
  150. data/lib/slack/web/api/endpoints/slackLists.rb +52 -0
  151. data/lib/slack/web/api/endpoints/slackLists_access.rb +47 -0
  152. data/lib/slack/web/api/endpoints/slackLists_download.rb +40 -0
  153. data/lib/slack/web/api/endpoints/slackLists_items.rb +116 -0
  154. data/lib/slack/web/api/endpoints/team.rb +3 -3
  155. data/lib/slack/web/api/endpoints/team_externalTeams.rb +8 -8
  156. data/lib/slack/web/api/endpoints/usergroups.rb +18 -18
  157. data/lib/slack/web/api/endpoints/usergroups_users.rb +8 -8
  158. data/lib/slack/web/api/endpoints/users.rb +2 -2
  159. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -1
  160. data/lib/slack/web/api/endpoints/views.rb +9 -9
  161. data/lib/slack/web/api/endpoints/workflows_featured.rb +69 -0
  162. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +15 -15
  163. data/lib/slack/web/api/endpoints.rb +10 -2
  164. data/lib/slack/web/api/errors.rb +88 -46
  165. data/lib/slack/web/api/helpers/files.rb +32 -22
  166. data/lib/slack/web/api/mixins/conversations.id.rb +14 -3
  167. data/lib/slack/web/api/mixins/users.id.rb +7 -3
  168. data/lib/slack/web/faraday/response/raise_error.rb +20 -2
  169. data/lib/slack-ruby-client.rb +0 -12
  170. data/lib/tasks/update.rake +0 -1
  171. data/lib/tasks/web.rake +0 -4
  172. data/slack-ruby-client.gemspec +1 -1
  173. metadata +19 -38
  174. data/.github/workflows/integration_test.yml +0 -45
  175. data/bin/commands/workflows.rb +0 -44
  176. data/examples/hi_real_time_and_web/Gemfile +0 -6
  177. data/examples/hi_real_time_and_web/hi.gif +0 -0
  178. data/examples/hi_real_time_and_web/hi.rb +0 -28
  179. data/examples/hi_real_time_async_async/Gemfile +0 -7
  180. data/examples/hi_real_time_async_async/Procfile +0 -2
  181. data/examples/hi_real_time_async_async/hi.rb +0 -41
  182. data/lib/slack/real_time/api/message.rb +0 -23
  183. data/lib/slack/real_time/api/message_id.rb +0 -15
  184. data/lib/slack/real_time/api/ping.rb +0 -19
  185. data/lib/slack/real_time/api/schema/event.json +0 -23
  186. data/lib/slack/real_time/api/templates/event_handler.erb +0 -8
  187. data/lib/slack/real_time/api/typing.rb +0 -20
  188. data/lib/slack/real_time/client.rb +0 -271
  189. data/lib/slack/real_time/concurrency/async.rb +0 -142
  190. data/lib/slack/real_time/concurrency.rb +0 -8
  191. data/lib/slack/real_time/config.rb +0 -62
  192. data/lib/slack/real_time/models/base.rb +0 -11
  193. data/lib/slack/real_time/models/bot.rb +0 -9
  194. data/lib/slack/real_time/models/channel.rb +0 -13
  195. data/lib/slack/real_time/models/im.rb +0 -9
  196. data/lib/slack/real_time/models/mpim.rb +0 -9
  197. data/lib/slack/real_time/models/team.rb +0 -9
  198. data/lib/slack/real_time/models/user.rb +0 -9
  199. data/lib/slack/real_time/models.rb +0 -9
  200. data/lib/slack/real_time/socket.rb +0 -118
  201. data/lib/slack/real_time/stores/base.rb +0 -47
  202. data/lib/slack/real_time/stores/starter.rb +0 -449
  203. data/lib/slack/real_time/stores/store.rb +0 -624
  204. data/lib/slack/real_time/stores.rb +0 -5
  205. data/lib/slack/web/api/endpoints/workflows.rb +0 -63
  206. data/lib/tasks/real_time.rake +0 -81
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47ff28dd66be50f30523812cdd1ab26e1910d68161fc59006e1702636667f0ff
4
- data.tar.gz: d2419d167109916aa49308519150e673c1fde0464edd941f0912ba5b14962da4
3
+ metadata.gz: 269481f640bde0fb03347512f5ca656fb1b72553d18eb7d3bd00e816ff0d6ce9
4
+ data.tar.gz: 11f927246113d6b2e2392fe6d39d6ea72b09f83eb32a8154057cb3cce8b95720
5
5
  SHA512:
6
- metadata.gz: 33ffb3d98c4e8445757bc1c457df69ddd1e67035dddd51c25f50dbf1c970cce4ec71af655ccc22b4e02e12ee73bbac7d2e5ba09f5795616270b83ec346743a80
7
- data.tar.gz: 0cfcfa4746617cccb864c533dd62455d6ce058632b0293febfff7357fbf77610298a008ff52b52caaea2d857c4a162202b8e0a0f1deea0ea29a1232222653a4d
6
+ metadata.gz: 2e9761d68a675cfbdf024b2ce2384e905e6cc41e7519a6f8ace72fad29dbbb28456f66759501c1c17b3a3d6e764446c77b4fa4293f02b4dd4fc2321c0aa27349
7
+ data.tar.gz: e821106e4af2fa24b55b239b5d95192fa7df916fb333065b6855de289390e2fece6469589dca5bdc11d128a343ff97494ed5ea0dd643cb2a591d0a57e8862d30
@@ -7,7 +7,6 @@ jobs:
7
7
  matrix:
8
8
  entry:
9
9
  - { ruby: "2.7" }
10
- - { ruby: "2.7", concurrency: async-websocket }
11
10
  - { ruby: "3.0" }
12
11
  - { ruby: "3.1" }
13
12
  - { ruby: "3.2" }
@@ -15,21 +14,16 @@ jobs:
15
14
  - { ruby: "3.4" }
16
15
  - { ruby: ruby-head, ignore: true }
17
16
  - { ruby: jruby-head, ignore: true }
18
- name: test (ruby=${{ matrix.entry.ruby }}${{ matrix.entry.concurrency && ', concurrency=' }}${{ matrix.entry.concurrency }})
17
+ name: test (ruby=${{ matrix.entry.ruby }})
19
18
  steps:
20
19
  - name: Checkout
21
20
  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
21
  - name: Set up Ruby
29
22
  uses: ruby/setup-ruby@v1
30
23
  with:
31
24
  ruby-version: ${{ matrix.entry.ruby }}
32
25
  bundler-cache: true # 'bundle install' and cache gems
26
+ continue-on-error: ${{ matrix.entry.ignore || false }}
33
27
  - name: Run Tests
34
28
  continue-on-error: ${{ matrix.entry.ignore || false }}
35
29
  env:
@@ -40,7 +34,7 @@ jobs:
40
34
  with:
41
35
  parallel: true
42
36
  github-token: ${{ secrets.GITHUB_TOKEN }}
43
- flag-name: run-${{ matrix.entry.ruby }}${{ matrix.entry.concurrency && '-'}}${{ matrix.entry.concurrency }}
37
+ flag-name: run-${{ matrix.entry.ruby }}
44
38
  allow-empty: ${{ matrix.entry.ignore || false }}
45
39
 
46
40
  finish:
@@ -52,4 +46,4 @@ jobs:
52
46
  uses: coverallsapp/github-action@v2
53
47
  with:
54
48
  parallel-finished: true
55
- carryforward: 'run-2.7,run-2.7-async-websocket,run-3.0,run-3.1,run-3.2,run-3.3'
49
+ carryforward: 'run-2.7,run-2.7-async-websocket,run-3.0,run-3.1,run-3.2,run-3.3,run-3.4'
@@ -2,7 +2,7 @@ name: Update API
2
2
  on:
3
3
  workflow_dispatch:
4
4
  schedule:
5
- - cron: "15 23 * * *"
5
+ - cron: "15 23 * * 1"
6
6
  jobs:
7
7
  update-api:
8
8
  if: ${{ github.repository == 'slack-ruby/slack-ruby-client' }}
data/.rubocop_todo.yml CHANGED
@@ -1,37 +1,11 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2025-02-11 15:48:56 UTC using RuboCop version 1.26.1.
3
+ # on 2025-09-21 17:08:14 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: 1
10
- # Configuration parameters: AllowedMethods.
11
- # AllowedMethods: enums
12
- Lint/ConstantDefinitionInBlock:
13
- Exclude:
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'
22
-
23
- # Offense count: 1
24
- # Configuration parameters: AllowComments.
25
- Lint/EmptyClass:
26
- Exclude:
27
- - 'spec/support/real_time/concurrency/mock.rb'
28
-
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'
34
-
35
9
  # Offense count: 1
36
10
  # This cop supports unsafe auto-correction (--auto-correct-all).
37
11
  Lint/NonDeterministicRequireOrder:
@@ -44,35 +18,36 @@ Lint/RedundantCopDisableDirective:
44
18
  Exclude:
45
19
  - 'lib/slack-ruby-client.rb'
46
20
 
47
- # Offense count: 13
21
+ # Offense count: 7
48
22
  # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
49
23
  Metrics/AbcSize:
50
- Max: 58
24
+ Max: 67
51
25
 
52
- # Offense count: 6
26
+ # Offense count: 4
53
27
  # Configuration parameters: IgnoredMethods.
54
28
  Metrics/CyclomaticComplexity:
55
- Max: 11
29
+ Max: 15
56
30
 
57
- # Offense count: 15
31
+ # Offense count: 10
58
32
  # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
59
33
  Metrics/MethodLength:
60
- Max: 35
34
+ Max: 45
61
35
 
62
36
  # Offense count: 1
63
37
  # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
64
38
  Metrics/ParameterLists:
65
39
  Max: 6
66
40
 
67
- # Offense count: 3
41
+ # Offense count: 2
68
42
  # Configuration parameters: IgnoredMethods.
69
43
  Metrics/PerceivedComplexity:
70
- Max: 12
44
+ Max: 17
71
45
 
72
- # Offense count: 1
46
+ # Offense count: 2
73
47
  # Configuration parameters: MinSize.
74
48
  Performance/CollectionLiteralInLoop:
75
49
  Exclude:
50
+ - 'lib/slack/web/api/helpers/files.rb'
76
51
  - 'spec/slack/web/api/endpoints/custom/files_spec.rb'
77
52
 
78
53
  # Offense count: 1
@@ -87,43 +62,68 @@ Performance/RegexpMatch:
87
62
  Exclude:
88
63
  - 'lib/tasks/web.rake'
89
64
 
90
- # Offense count: 3
65
+ # Offense count: 2
91
66
  # This cop supports safe auto-correction (--auto-correct).
92
67
  Performance/StringInclude:
93
68
  Exclude:
94
69
  - 'lib/tasks/web.rake'
95
70
 
96
- # Offense count: 9
71
+ # Offense count: 10
97
72
  # This cop supports safe auto-correction (--auto-correct).
98
73
  RSpec/ContextMethod:
99
74
  Exclude:
100
75
  - 'spec/slack/messages/formatting_spec.rb'
101
76
  - 'spec/slack/web/api/mixins/users_spec.rb'
102
77
 
103
- # Offense count: 84
78
+ # Offense count: 59
104
79
  # Configuration parameters: Prefixes.
105
80
  # Prefixes: when, with, without
106
81
  RSpec/ContextWording:
107
- Enabled: false
82
+ Exclude:
83
+ - 'spec/slack/events/config_spec.rb'
84
+ - 'spec/slack/events/request_spec.rb'
85
+ - 'spec/slack/messages/formatting_spec.rb'
86
+ - 'spec/slack/slack_spec.rb'
87
+ - 'spec/slack/web/api/endpoints/custom/auth_spec.rb'
88
+ - 'spec/slack/web/api/endpoints/custom/chat_spec.rb'
89
+ - 'spec/slack/web/api/endpoints/custom/conversations_spec.rb'
90
+ - 'spec/slack/web/api/endpoints/custom/dialog_spec.rb'
91
+ - 'spec/slack/web/api/endpoints/custom/users_spec.rb'
92
+ - 'spec/slack/web/api/mixins/conversations_list_spec.rb'
93
+ - 'spec/slack/web/api/mixins/users_spec.rb'
94
+ - 'spec/slack/web/api/options_spec.rb'
95
+ - 'spec/slack/web/api/pagination/cursor_spec.rb'
96
+ - 'spec/slack/web/client_spec.rb'
97
+ - 'spec/slack/web/faraday/request_spec.rb'
108
98
 
109
- # Offense count: 72
99
+ # Offense count: 35
110
100
  # Configuration parameters: CountAsOne.
111
101
  RSpec/ExampleLength:
112
- Max: 18
102
+ Max: 17
113
103
 
114
- # Offense count: 19
104
+ # Offense count: 10
115
105
  # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
116
106
  # Include: **/*_spec*rb*, **/spec/**/*
117
107
  RSpec/FilePath:
118
- Enabled: false
108
+ Exclude:
109
+ - 'spec/slack/version_spec.rb'
110
+ - 'spec/slack/web/api/endpoints/custom/auth_spec.rb'
111
+ - 'spec/slack/web/api/endpoints/custom/chat_spec.rb'
112
+ - 'spec/slack/web/api/endpoints/custom/conversations_spec.rb'
113
+ - 'spec/slack/web/api/endpoints/custom/dialog_spec.rb'
114
+ - 'spec/slack/web/api/endpoints/custom/files_spec.rb'
115
+ - 'spec/slack/web/api/endpoints/custom/users_spec.rb'
116
+ - 'spec/slack/web/api/endpoints/custom/views_spec.rb'
117
+ - 'spec/slack/web/api/mixins/conversations_list_spec.rb'
118
+ - 'spec/slack/web/api/options_spec.rb'
119
119
 
120
- # Offense count: 74
120
+ # Offense count: 66
121
121
  # Configuration parameters: .
122
122
  # SupportedStyles: have_received, receive
123
123
  RSpec/MessageSpies:
124
124
  EnforcedStyle: receive
125
125
 
126
- # Offense count: 97
126
+ # Offense count: 65
127
127
  RSpec/MultipleExpectations:
128
128
  Max: 5
129
129
 
@@ -138,20 +138,18 @@ RSpec/NamedSubject:
138
138
  Exclude:
139
139
  - 'spec/slack/web/api/mixins/conversations_list_spec.rb'
140
140
 
141
- # Offense count: 48
141
+ # Offense count: 26
142
142
  RSpec/NestedGroups:
143
- Max: 6
143
+ Max: 5
144
144
 
145
- # Offense count: 6
145
+ # Offense count: 3
146
146
  RSpec/StubbedMock:
147
147
  Exclude:
148
- - 'spec/slack/real_time/client_spec.rb'
149
- - 'spec/slack/real_time/event_handlers/event_handlers_spec.rb'
150
148
  - 'spec/slack/web/api/endpoints/custom/conversations_spec.rb'
151
149
  - 'spec/slack/web/api/pagination/cursor_spec.rb'
152
150
  - 'spec/slack/web/client_spec.rb'
153
151
 
154
- # Offense count: 2
152
+ # Offense count: 14
155
153
  RSpec/SubjectStub:
156
154
  Exclude:
157
155
  - 'spec/slack/web/api/mixins/conversations_spec.rb'
@@ -164,14 +162,12 @@ RSpec/SubjectStub:
164
162
  RSpec/VerifiedDoubleReference:
165
163
  EnforcedStyle: string
166
164
 
167
- # Offense count: 10
165
+ # Offense count: 2
168
166
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
169
167
  RSpec/VerifiedDoubles:
170
168
  Exclude:
171
169
  - 'spec/slack/events/request_spec.rb'
172
- - 'spec/slack/real_time/client_spec.rb'
173
170
  - 'spec/slack/web/faraday/response/raise_error_spec.rb'
174
- - 'spec/support/real_time/connected_client.rb'
175
171
 
176
172
  # Offense count: 1
177
173
  # This cop supports safe auto-correction (--auto-correct).
@@ -179,26 +175,17 @@ Rake/Desc:
179
175
  Exclude:
180
176
  - 'lib/tasks/git.rake'
181
177
 
182
- # Offense count: 1
183
- # Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
184
- # SupportedStyles: inline, group
185
- Style/AccessModifierDeclarations:
186
- Exclude:
187
- - 'lib/slack/real_time/client.rb'
188
-
189
178
  # Offense count: 4
190
179
  # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
191
180
  # SupportedStyles: annotated, template, unannotated
192
181
  Style/FormatStringToken:
193
182
  EnforcedStyle: unannotated
194
183
 
195
- # Offense count: 5
184
+ # Offense count: 2
196
185
  # This cop supports safe auto-correction (--auto-correct).
197
186
  Style/GlobalStdStream:
198
187
  Exclude:
199
188
  - 'lib/slack/logger.rb'
200
- - 'lib/tasks/real_time.rake'
201
- - 'spec/integration/integration_spec.rb'
202
189
  - 'spec/slack/web/client_spec.rb'
203
190
 
204
191
  # Offense count: 1
@@ -218,19 +205,19 @@ Style/MultilineTernaryOperator:
218
205
  Exclude:
219
206
  - 'spec/support/vcr.rb'
220
207
 
221
- # Offense count: 3
208
+ # Offense count: 2
222
209
  Style/OpenStructUse:
223
210
  Exclude:
224
211
  - 'spec/slack/web/api/endpoints/custom/chat_spec.rb'
225
212
  - 'spec/slack/web/api/pagination/cursor_spec.rb'
226
- - 'spec/slack/web/faraday/response/raise_error_spec.rb'
227
213
 
228
214
  # Offense count: 1
229
- # Configuration parameters: AllowedMethods.
230
- # AllowedMethods: respond_to_missing?
231
- Style/OptionalBooleanParameter:
215
+ # This cop supports safe auto-correction (--auto-correct).
216
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
217
+ # AllowedMethods: present?, blank?, presence, try, try!
218
+ Style/SafeNavigation:
232
219
  Exclude:
233
- - 'spec/support/queue_with_timeout.rb'
220
+ - 'lib/slack/web/api/helpers/files.rb'
234
221
 
235
222
  # Offense count: 1
236
223
  # This cop supports unsafe auto-correction (--auto-correct-all).
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ### 3.0.0 (2025/09/22)
2
+
3
+ * [#573](https://github.com/slack-ruby/slack-ruby-client/pull/573): Removed support for RTM APIs - [@dblock](https://github.com/dblock).
4
+ * [#568](https://github.com/slack-ruby/slack-ruby-client/pull/568): Redact Authorization header in response stored in the error - [@levenleven](https://github.com/levenleven).
5
+ * [#558](https://github.com/slack-ruby/slack-ruby-client/pull/558): Update API from [slack-api-ref@c408935](https://github.com/slack-ruby/slack-api-ref/commit/c408935) - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
6
+ * [#571](https://github.com/slack-ruby/slack-ruby-client/pull/571): Update API from [slack-api-ref@e1a2c4d](https://github.com/slack-ruby/slack-api-ref/commit/e1a2c4d) - [@slack-ruby-ci-bot](https://github.com/apps/slack-ruby-ci-bot).
7
+
8
+ ### 2.7.0 (2025/07/20)
9
+
10
+ * [#554](https://github.com/slack-ruby/slack-ruby-client/pull/557): Require Faraday >= 2.0.1 - [@anrichvs](https://github.com/AnrichVS).
11
+ * [#559](https://github.com/slack-ruby/slack-ruby-client/pull/559): Enable name-to-id translation of non-public channels - [@eizengan](https://github.com/eizengan).
12
+ * [#560](https://github.com/slack-ruby/slack-ruby-client/pull/560): Name-to-id translation can supply all sensible list options - [@eizengan](https://github.com/eizengan).
13
+ * [#561](https://github.com/slack-ruby/slack-ruby-client/issues/563): Raise InvalidSignature when verifying a request without a signature - [@wesleyjellis](https://github.com/wesleyjellis).
14
+ * [#567](https://github.com/slack-ruby/slack-ruby-client/pull/567): Add support for multiple files in `files_upload_v2` - [@dblock](https://github.com/dblock).
15
+
1
16
  ### 2.6.0 (2025/05/24)
2
17
 
3
18
  * [#549](https://github.com/slack-ruby/slack-ruby-client/pull/549): Add group ID formatting support for message mentions - [@n0h0](https://github.com/n0h0).
data/CONTRIBUTING.md CHANGED
@@ -27,7 +27,7 @@ bundle exec rake
27
27
 
28
28
  ### Run Examples in Development
29
29
 
30
- Sign up for Slack, create a private Slack team for yourself, then [generate an API token](https://api.slack.com/tutorials/tracks/getting-a-token) for your app and use it for some interactions.
30
+ Sign up for Slack, create a private Slack team for yourself, then [generate an API token](https://api.slack.com/tutorials/tracks/getting-a-token) for your app and use it for some interactions. To get a token you will need to install the app in a workspace, and use the "User OAuth Token" from installed app settings.
31
31
 
32
32
  Try running the examples in the [examples](examples) directory.
33
33
 
data/Gemfile CHANGED
@@ -3,15 +3,6 @@ source 'http://rubygems.org'
3
3
 
4
4
  gemspec
5
5
 
6
- if ENV.key?('CONCURRENCY')
7
- case ENV['CONCURRENCY']
8
- when 'async-websocket'
9
- gem 'async-websocket', '~> 0.8.0', require: false
10
- else
11
- gem ENV['CONCURRENCY'], require: false
12
- end
13
- end
14
-
15
6
  group :test do
16
7
  gem 'activesupport'
17
8
  gem 'base64'
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2015-2021 Daniel Doubrovkine, Artsy and Contributors
3
+ Copyright (c) 2015-2025 Daniel Doubrovkine, Artsy and Contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the