slack-ruby-client 2.3.0 → 2.5.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 (228) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +22 -12
  3. data/.github/workflows/update_api.yml +1 -1
  4. data/.gitignore +1 -0
  5. data/.rubocop_todo.yml +43 -13
  6. data/CHANGELOG.md +19 -0
  7. data/CONTRIBUTING.md +7 -7
  8. data/Gemfile +1 -0
  9. data/README.md +68 -25
  10. data/bin/commands/admin_conversations.rb +21 -0
  11. data/bin/commands/admin_emoji.rb +1 -1
  12. data/bin/commands/admin_users.rb +4 -4
  13. data/bin/commands/admin_users_session.rb +1 -1
  14. data/bin/commands/admin_workflows.rb +6 -2
  15. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  16. data/bin/commands/apps_datastore.rb +46 -0
  17. data/bin/commands/assistant_threads.rb +45 -0
  18. data/bin/commands/bookmarks.rb +1 -0
  19. data/bin/commands/canvases.rb +40 -0
  20. data/bin/commands/canvases_access.rb +34 -0
  21. data/bin/commands/canvases_sections.rb +21 -0
  22. data/bin/commands/chat.rb +7 -3
  23. data/bin/commands/conversations.rb +6 -6
  24. data/bin/commands/conversations_canvases.rb +21 -0
  25. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  26. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  27. data/bin/commands/files.rb +2 -1
  28. data/bin/commands/functions_distributions_permissions.rb +59 -0
  29. data/bin/commands/oauth.rb +2 -2
  30. data/bin/commands/oauth_v2.rb +2 -2
  31. data/bin/commands/reminders.rb +1 -1
  32. data/bin/commands/team_externalTeams.rb +35 -0
  33. data/bin/commands/usergroups.rb +5 -0
  34. data/bin/commands/usergroups_users.rb +2 -0
  35. data/bin/commands/users_discoverableContacts.rb +20 -0
  36. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  37. data/examples/files_upload_v2/.env.example +1 -0
  38. data/examples/files_upload_v2/Gemfile +5 -0
  39. data/examples/files_upload_v2/README.md +13 -0
  40. data/examples/files_upload_v2/files_upload_v2.rb +37 -0
  41. data/examples/oauth_v2/.env.example +4 -0
  42. data/examples/oauth_v2/Gemfile +7 -0
  43. data/examples/oauth_v2/README.md +33 -0
  44. data/examples/oauth_v2/oauth_v2.rb +60 -0
  45. data/lib/slack/messages/formatting.rb +13 -0
  46. data/lib/slack/version.rb +1 -1
  47. data/lib/slack/web/api/endpoints/admin_conversations.rb +35 -0
  48. data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
  49. data/lib/slack/web/api/endpoints/admin_users.rb +2 -2
  50. data/lib/slack/web/api/endpoints/admin_users_session.rb +2 -3
  51. data/lib/slack/web/api/endpoints/admin_workflows.rb +10 -2
  52. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  53. data/lib/slack/web/api/endpoints/apps_datastore.rb +71 -0
  54. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  55. data/lib/slack/web/api/endpoints/bookmarks.rb +2 -0
  56. data/lib/slack/web/api/endpoints/canvases.rb +52 -0
  57. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  58. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  59. data/lib/slack/web/api/endpoints/chat.rb +12 -3
  60. data/lib/slack/web/api/endpoints/conversations.rb +5 -5
  61. data/lib/slack/web/api/endpoints/conversations_canvases.rb +26 -0
  62. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  63. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  64. data/lib/slack/web/api/endpoints/dnd.rb +1 -0
  65. data/lib/slack/web/api/endpoints/files.rb +3 -1
  66. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +80 -0
  67. data/lib/slack/web/api/endpoints/oauth.rb +2 -2
  68. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  69. data/lib/slack/web/api/endpoints/reminders.rb +1 -1
  70. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  71. data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
  72. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
  73. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  74. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  75. data/lib/slack/web/api/endpoints.rb +24 -0
  76. data/lib/slack/web/api/errors.rb +118 -8
  77. data/lib/slack/web/api/helpers/files.rb +87 -0
  78. data/lib/slack/web/api/helpers.rb +13 -0
  79. data/lib/slack/web/api/templates/method.erb +1 -0
  80. data/lib/slack/web/api/templates/method_spec.erb +6 -4
  81. data/lib/slack/web/client.rb +1 -0
  82. data/lib/slack/web/faraday/connection.rb +13 -26
  83. data/lib/slack/web/faraday/options.rb +24 -0
  84. data/lib/slack/web/faraday/request.rb +2 -1
  85. data/lib/slack-ruby-client.rb +2 -0
  86. data/slack-ruby-client.gemspec +2 -1
  87. metadata +52 -144
  88. data/screenshots/create-app.png +0 -0
  89. data/spec/fixtures/slack/web/429_error.yml +0 -81
  90. data/spec/fixtures/slack/web/auth_test_error.yml +0 -81
  91. data/spec/fixtures/slack/web/auth_test_success.yml +0 -81
  92. data/spec/fixtures/slack/web/conversations_info.yml +0 -167
  93. data/spec/fixtures/slack/web/conversations_setTopic.yml +0 -84
  94. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +0 -172
  95. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +0 -253
  96. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -613
  97. data/spec/fixtures/slack/web/rtm_connect.yml +0 -391
  98. data/spec/fixtures/slack/web/users_info.yml +0 -214
  99. data/spec/fixtures/slack/web/users_list.yml +0 -133
  100. data/spec/fixtures/slack/web/views_open_error.yml +0 -83
  101. data/spec/integration/integration_spec.rb +0 -207
  102. data/spec/slack/config_spec.rb +0 -16
  103. data/spec/slack/events/config_spec.rb +0 -35
  104. data/spec/slack/events/request_spec.rb +0 -199
  105. data/spec/slack/messages/formatting_spec.rb +0 -124
  106. data/spec/slack/real_time/api/message_spec.rb +0 -20
  107. data/spec/slack/real_time/api/ping_spec.rb +0 -17
  108. data/spec/slack/real_time/api/typing_spec.rb +0 -19
  109. data/spec/slack/real_time/client_spec.rb +0 -601
  110. data/spec/slack/real_time/concurrency/clients/async_spec.rb +0 -16
  111. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -21
  112. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +0 -10
  113. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +0 -10
  114. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -47
  115. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -16
  116. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -51
  117. data/spec/slack/real_time/event_handlers/private_channel_spec.rb +0 -99
  118. data/spec/slack/real_time/event_handlers/public_channel_spec.rb +0 -123
  119. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -63
  120. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -65
  121. data/spec/slack/real_time/rtm_connect_spec.rb +0 -14
  122. data/spec/slack/real_time/stores/store_spec.rb +0 -50
  123. data/spec/slack/slack_spec.rb +0 -93
  124. data/spec/slack/version_spec.rb +0 -8
  125. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +0 -13
  126. data/spec/slack/web/api/endpoints/admin_apps_activities_spec.rb +0 -8
  127. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +0 -8
  128. data/spec/slack/web/api/endpoints/admin_apps_config_spec.rb +0 -18
  129. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +0 -13
  130. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +0 -8
  131. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +0 -18
  132. data/spec/slack/web/api/endpoints/admin_audit_anomaly_allow_spec.rb +0 -8
  133. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +0 -35
  134. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +0 -38
  135. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +0 -8
  136. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +0 -32
  137. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +0 -133
  138. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +0 -37
  139. data/spec/slack/web/api/endpoints/admin_functions_permissions_spec.rb +0 -21
  140. data/spec/slack/web/api/endpoints/admin_functions_spec.rb +0 -13
  141. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +0 -8
  142. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +0 -8
  143. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +0 -18
  144. data/spec/slack/web/api/endpoints/admin_roles_spec.rb +0 -30
  145. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +0 -13
  146. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +0 -13
  147. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +0 -53
  148. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +0 -16
  149. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +0 -37
  150. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +0 -41
  151. data/spec/slack/web/api/endpoints/admin_users_spec.rb +0 -67
  152. data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +0 -8
  153. data/spec/slack/web/api/endpoints/admin_workflows_collaborators_spec.rb +0 -24
  154. data/spec/slack/web/api/endpoints/admin_workflows_permissions_spec.rb +0 -13
  155. data/spec/slack/web/api/endpoints/admin_workflows_spec.rb +0 -13
  156. data/spec/slack/web/api/endpoints/api_spec.rb +0 -8
  157. data/spec/slack/web/api/endpoints/apps_activities_spec.rb +0 -13
  158. data/spec/slack/web/api/endpoints/apps_auth_external_spec.rb +0 -13
  159. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +0 -8
  160. data/spec/slack/web/api/endpoints/apps_datastore_spec.rb +0 -45
  161. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +0 -13
  162. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +0 -44
  163. data/spec/slack/web/api/endpoints/apps_spec.rb +0 -16
  164. data/spec/slack/web/api/endpoints/auth_spec.rb +0 -8
  165. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +0 -8
  166. data/spec/slack/web/api/endpoints/bookmarks_spec.rb +0 -40
  167. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -8
  168. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +0 -24
  169. data/spec/slack/web/api/endpoints/calls_spec.rb +0 -31
  170. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +0 -8
  171. data/spec/slack/web/api/endpoints/chat_spec.rb +0 -134
  172. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -8
  173. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -27
  174. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -206
  175. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +0 -13
  176. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -40
  177. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -38
  178. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +0 -112
  179. data/spec/slack/web/api/endpoints/dialog_spec.rb +0 -14
  180. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -13
  181. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -8
  182. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -16
  183. data/spec/slack/web/api/endpoints/files_remote_spec.rb +0 -24
  184. data/spec/slack/web/api/endpoints/files_spec.rb +0 -57
  185. data/spec/slack/web/api/endpoints/functions_spec.rb +0 -28
  186. data/spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb +0 -13
  187. data/spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb +0 -13
  188. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -13
  189. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -8
  190. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +0 -16
  191. data/spec/slack/web/api/endpoints/openid_connect_spec.rb +0 -8
  192. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -23
  193. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -24
  194. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -31
  195. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -8
  196. data/spec/slack/web/api/endpoints/search_spec.rb +0 -23
  197. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -8
  198. data/spec/slack/web/api/endpoints/team_billing_spec.rb +0 -8
  199. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +0 -8
  200. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -8
  201. data/spec/slack/web/api/endpoints/team_spec.rb +0 -8
  202. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +0 -13
  203. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -28
  204. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -21
  205. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -18
  206. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -8
  207. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -14
  208. data/spec/slack/web/api/endpoints/users_spec.rb +0 -8
  209. data/spec/slack/web/api/endpoints/views_spec.rb +0 -65
  210. data/spec/slack/web/api/endpoints/workflows_spec.rb +0 -34
  211. data/spec/slack/web/api/error_spec.rb +0 -14
  212. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -33
  213. data/spec/slack/web/api/mixins/conversations_list_spec.rb +0 -21
  214. data/spec/slack/web/api/mixins/conversations_spec.rb +0 -45
  215. data/spec/slack/web/api/mixins/users_spec.rb +0 -52
  216. data/spec/slack/web/api/options_spec.rb +0 -69
  217. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -102
  218. data/spec/slack/web/client_spec.rb +0 -359
  219. data/spec/slack/web/faraday/request_spec.rb +0 -80
  220. data/spec/slack/web/faraday/response/raise_error_spec.rb +0 -86
  221. data/spec/spec_helper.rb +0 -30
  222. data/spec/support/queue_with_timeout.rb +0 -35
  223. data/spec/support/real_time/concurrency/mock.rb +0 -31
  224. data/spec/support/real_time/connected_client.rb +0 -21
  225. data/spec/support/real_time/event.rb +0 -12
  226. data/spec/support/real_time/loaded_client.rb +0 -120
  227. data/spec/support/token.rb +0 -11
  228. data/spec/support/vcr.rb +0 -45
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+ module Slack
3
+ module Web
4
+ module Api
5
+ module Helpers
6
+ module Files
7
+ #
8
+ # Uses Slack APIs new sequential file upload flow. This replaces the files.upload method
9
+ # @see https://api.slack.com/changelog/2024-04-a-better-way-to-upload-files-is-here-to-stay
10
+ # @see https://api.slack.com/messaging/files#uploading_files
11
+ #
12
+ # @option params [string] :filename
13
+ # Name of the file being uploaded.
14
+ # @option params [string] :content
15
+ # File contents via a POST variable.
16
+ # @option params [string] :alt_txt
17
+ # Description of image for screen-reader.
18
+ # @option params [string] :snippet_type
19
+ # Syntax type of the snippet being uploaded.
20
+ # @option params [string] :title
21
+ # Title of file.
22
+ # @option params [string] :channel_id
23
+ # Channel ID where the file will be shared. If not specified the file will be private.
24
+ # @option params [string] :channel
25
+ # Channel where the file will be shared, alias of channel_id. If not specified the file will be private.
26
+ # @option params [string] :channels
27
+ # Comma-separated string of channel IDs where the file will be shared. If not specified the file will be private.
28
+ # @option params [string] :initial_comment
29
+ # The message text introducing the file in specified channels.
30
+ # @option params [string] :thread_ts
31
+ # Provide another message's ts value to upload this file as a reply.
32
+ # Never use a reply's ts value; use its parent instead.
33
+ # Also make sure to provide only one channel when using 'thread_ts'.
34
+ def files_upload_v2(params = {})
35
+ %i[filename content].each do |param|
36
+ raise ArgumentError, "Required argument :#{param} missing" if params[param].nil?
37
+ end
38
+
39
+ channel_params = %i[channel channels channel_id].map { |param| params[param] }.compact
40
+ raise ArgumentError, 'Only one of :channel, :channels, or :channel_id is required' if channel_params.size > 1
41
+
42
+ complete_upload_request_params = params.slice(:initial_comment, :thread_ts)
43
+
44
+ if params[:channels]
45
+ complete_upload_request_params[:channels] = Array(params[:channels]).map do |channel|
46
+ conversations_id(channel: channel)['channel']['id']
47
+ end.uniq.join(',')
48
+ elsif params[:channel]
49
+ complete_upload_request_params[:channel] = conversations_id(
50
+ channel: params[:channel]
51
+ )['channel']['id']
52
+ elsif params[:channel_id]
53
+ complete_upload_request_params[:channel_id] = params[:channel_id]
54
+ end
55
+
56
+ content = params[:content]
57
+ title = params[:title] || params[:filename]
58
+
59
+ upload_url_request_params = params.slice(:filename, :alt_txt, :snippet_type)
60
+ upload_url_request_params[:length] = content.bytesize
61
+
62
+ # Get the upload url.
63
+ get_upload_url_response = files_getUploadURLExternal(upload_url_request_params)
64
+ upload_url = get_upload_url_response[:upload_url]
65
+ file_id = get_upload_url_response[:file_id]
66
+
67
+ # Upload the file.
68
+ ::Faraday::Connection.new(upload_url, options) do |connection|
69
+ connection.request :multipart
70
+ connection.request :url_encoded
71
+ connection.use ::Slack::Web::Faraday::Response::WrapError
72
+ connection.response :logger, logger if logger
73
+ connection.adapter adapter
74
+ end.post do |request|
75
+ request.body = content
76
+ end
77
+
78
+ # Complete the upload.
79
+ complete_upload_request_params[:files] = [{ id: file_id, title: title }].to_json
80
+
81
+ files_completeUploadExternal(complete_upload_request_params)
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helpers/files'
4
+
5
+ module Slack
6
+ module Web
7
+ module Api
8
+ module Helpers
9
+ include Files
10
+ end
11
+ end
12
+ end
13
+ end
@@ -38,6 +38,7 @@ module Slack
38
38
  raise ArgumentError, 'Required arguments :<%= arg_name %> missing' if options[:<%= arg_name %>].nil?
39
39
  <% end %>
40
40
  <% data['arg_groups']&.each do |arg_group| %>
41
+ <% next if arg_group['args'].size <= 1 %>
41
42
  <% arg_string = arg_group['args'].map { |arg_name| ":#{arg_name}" }.join(', ') %>
42
43
  <% if arg_group['mutually_exclusive'] %>
43
44
  raise ArgumentError, 'Exactly one of <%= arg_string %> is required' unless <%= arg_group['args'].map { |arg_name| "options[:#{arg_name}].nil?" }.join(' ^ ') %>
@@ -7,12 +7,13 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
7
7
  let(:client) { Slack::Web::Client.new }
8
8
  <% names.sort.each_with_index do |(name, data), index| %>
9
9
  <% next if data['mixin'] %>
10
- <% group_required_params = data['arg_groups']&.map { |grp| grp['args'].first } || [] %>
11
- <% required_params = data['args'].select{ |k, v| v['required'] || group_required_params.include?(k) } %>
10
+ <% group_required_params = data['arg_groups']&.map { |grp| grp['args'].first if grp['args'].size > 1 } || [] %>
11
+ <% required_params = data['args'].select{ |k, v| v['required'] } %>
12
+ <% all_required_params = data['args'].select{ |k, v| v['required'] || group_required_params.include?(k) } %>
12
13
  <% json_params = data['args'].map { |arg_name, arg_v| arg_name if arg_v['format'] == 'json' }.compact %>
13
- <% next if (required_params.none? || custom_spec_exists) && json_params.none? && data['arg_groups'].nil? %>
14
+ <% next if (all_required_params.none? || custom_spec_exists) && json_params.none? && data['arg_groups'].nil? %>
14
15
  <% method_name = [group.gsub(".", "_"), name].join('_') %>
15
- <% example_params = required_params.to_h { |var, opts| [var, opts['example']] } %>
16
+ <% example_params = all_required_params.to_h { |var, opts| [var, opts['example']] } %>
16
17
  context '<%= group %>_<%= name %>' do
17
18
  <% unless custom_spec_exists %>
18
19
  <% required_params.each do |arg_name, arg_v| %>
@@ -23,6 +24,7 @@ RSpec.describe Slack::Web::Api::Endpoints::<%= group.gsub(".", "_").camelize %>
23
24
  <% end %>
24
25
  <% end %>
25
26
  <% data['arg_groups']&.each do |arg_group| %>
27
+ <% next if arg_group['args'].size <= 1 %>
26
28
  it 'requires one of <%= arg_group['args'].join(', ') %>' do
27
29
  <% params_except_required = example_params.reject { |name, _| arg_group['args'].include?(name) }.map { |name, val| "#{name}: %q[#{val}]" }.join(', ') %>
28
30
  <% error_message = arg_group['mutually_exclusive'] ? 'Exactly' : 'At least' %>
@@ -5,6 +5,7 @@ module Slack
5
5
  include Faraday::Connection
6
6
  include Faraday::Request
7
7
  include Api::Endpoints
8
+ include Api::Helpers
8
9
  include Api::Options
9
10
 
10
11
  attr_accessor(*Config::ATTRIBUTES)
@@ -3,35 +3,22 @@ module Slack
3
3
  module Web
4
4
  module Faraday
5
5
  module Connection
6
+ include Slack::Web::Faraday::Options
7
+
6
8
  private
7
9
 
8
10
  def connection
9
- @connection ||=
10
- begin
11
- options = {
12
- headers: { 'Accept' => 'application/json; charset=utf-8' }
13
- }
14
-
15
- options[:headers]['User-Agent'] = user_agent if user_agent
16
- options[:proxy] = proxy if proxy
17
- options[:ssl] = { ca_path: ca_path, ca_file: ca_file } if ca_path || ca_file
18
-
19
- request_options = {}
20
- request_options[:timeout] = timeout if timeout
21
- request_options[:open_timeout] = open_timeout if open_timeout
22
- options[:request] = request_options if request_options.any?
23
-
24
- ::Faraday::Connection.new(endpoint, options) do |connection|
25
- connection.request :multipart
26
- connection.request :url_encoded
27
- connection.use ::Slack::Web::Faraday::Response::RaiseError
28
- connection.response :mashify, mash_class: Slack::Messages::Message
29
- connection.response :json, content_type: /\b*$/
30
- connection.use ::Slack::Web::Faraday::Response::WrapError
31
- connection.response :logger, logger if logger
32
- connection.adapter adapter
33
- end
34
- end
11
+ @connection ||= ::Faraday::Connection.new(endpoint, options) do |connection|
12
+ connection.headers['Accept'] = 'application/json; charset=utf-8'
13
+ connection.request :multipart
14
+ connection.request :url_encoded
15
+ connection.use ::Slack::Web::Faraday::Response::RaiseError
16
+ connection.response :mashify, mash_class: Slack::Messages::Message
17
+ connection.response :json, content_type: /\b*$/
18
+ connection.use ::Slack::Web::Faraday::Response::WrapError
19
+ connection.response :logger, logger if logger
20
+ connection.adapter adapter
21
+ end
35
22
  end
36
23
  end
37
24
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ module Slack
3
+ module Web
4
+ module Faraday
5
+ module Options
6
+ def options
7
+ @options ||= begin
8
+ options = { headers: {} }
9
+ options[:headers]['User-Agent'] = user_agent if user_agent
10
+ options[:proxy] = proxy if proxy
11
+ options[:ssl] = { ca_path: ca_path, ca_file: ca_file } if ca_path || ca_file
12
+
13
+ request_options = {}
14
+ request_options[:timeout] = timeout if timeout
15
+ request_options[:open_timeout] = open_timeout if open_timeout
16
+ options[:request] = request_options if request_options.any?
17
+
18
+ options
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -28,10 +28,11 @@ module Slack
28
28
  request.url(path, options)
29
29
  when :post, :put
30
30
  request.path = path
31
- options.compact!
31
+ options.compact! if options.respond_to? :compact
32
32
  request.body = options unless options.empty?
33
33
  end
34
34
  request.headers['Authorization'] = "Bearer #{token}" if token
35
+
35
36
  request.options.merge!(options.delete(:request)) if options.key?(:request)
36
37
  end
37
38
  response.body
@@ -33,10 +33,12 @@ require_relative 'slack/web/api/errors/server_error'
33
33
  require_relative 'slack/web/api/options'
34
34
  require_relative 'slack/web/faraday/response/raise_error'
35
35
  require_relative 'slack/web/faraday/response/wrap_error'
36
+ require_relative 'slack/web/faraday/options'
36
37
  require_relative 'slack/web/faraday/connection'
37
38
  require_relative 'slack/web/faraday/request'
38
39
  require_relative 'slack/web/api/mixins'
39
40
  require_relative 'slack/web/api/endpoints'
41
+ require_relative 'slack/web/api/helpers'
40
42
  require_relative 'slack/web/pagination/cursor'
41
43
  require_relative 'slack/web/client'
42
44
 
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.platform = Gem::Platform::RUBY
13
13
  s.required_ruby_version = '>= 2.7'
14
14
  s.required_rubygems_version = '>= 1.3.6'
15
- s.files = `git ls-files`.split("\n")
15
+ s.files = `git ls-files`.split("\n").grep_v(%r{^spec/})
16
16
  s.require_paths = ['lib']
17
17
  s.homepage = 'http://github.com/slack-ruby/slack-ruby-client'
18
18
  s.licenses = ['MIT']
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency 'faraday-multipart'
23
23
  s.add_dependency 'gli'
24
24
  s.add_dependency 'hashie'
25
+ s.add_dependency 'logger'
25
26
  s.metadata['rubygems_mfa_required'] = 'true'
26
27
  s.metadata['changelog_uri'] = 'https://github.com/slack-ruby/slack-ruby-client/blob/master/CHANGELOG.md'
27
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-31 00:00:00.000000000 Z
11
+ date: 2025-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: logger
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description:
84
98
  email: dblock@dblock.org
85
99
  executables:
@@ -143,6 +157,7 @@ files:
143
157
  - bin/commands/admin_workflows.rb
144
158
  - bin/commands/admin_workflows_collaborators.rb
145
159
  - bin/commands/admin_workflows_permissions.rb
160
+ - bin/commands/admin_workflows_triggers_types_permissions.rb
146
161
  - bin/commands/api.rb
147
162
  - bin/commands/apps.rb
148
163
  - bin/commands/apps_activities.rb
@@ -151,15 +166,22 @@ files:
151
166
  - bin/commands/apps_datastore.rb
152
167
  - bin/commands/apps_event_authorizations.rb
153
168
  - bin/commands/apps_manifest.rb
169
+ - bin/commands/assistant_threads.rb
154
170
  - bin/commands/auth.rb
155
171
  - bin/commands/auth_teams.rb
156
172
  - bin/commands/bookmarks.rb
157
173
  - bin/commands/bots.rb
158
174
  - bin/commands/calls.rb
159
175
  - bin/commands/calls_participants.rb
176
+ - bin/commands/canvases.rb
177
+ - bin/commands/canvases_access.rb
178
+ - bin/commands/canvases_sections.rb
160
179
  - bin/commands/chat.rb
161
180
  - bin/commands/chat_scheduledMessages.rb
162
181
  - bin/commands/conversations.rb
182
+ - bin/commands/conversations_canvases.rb
183
+ - bin/commands/conversations_externalInvitePermissions.rb
184
+ - bin/commands/conversations_requestSharedInvite.rb
163
185
  - bin/commands/dialog.rb
164
186
  - bin/commands/dnd.rb
165
187
  - bin/commands/emoji.rb
@@ -167,6 +189,7 @@ files:
167
189
  - bin/commands/files_comments.rb
168
190
  - bin/commands/files_remote.rb
169
191
  - bin/commands/functions.rb
192
+ - bin/commands/functions_distributions_permissions.rb
170
193
  - bin/commands/functions_workflows_steps.rb
171
194
  - bin/commands/functions_workflows_steps_responses.rb
172
195
  - bin/commands/migration.rb
@@ -181,6 +204,7 @@ files:
181
204
  - bin/commands/stars.rb
182
205
  - bin/commands/team.rb
183
206
  - bin/commands/team_billing.rb
207
+ - bin/commands/team_externalTeams.rb
184
208
  - bin/commands/team_preferences.rb
185
209
  - bin/commands/team_profile.rb
186
210
  - bin/commands/tooling_tokens.rb
@@ -188,11 +212,17 @@ files:
188
212
  - bin/commands/usergroups_users.rb
189
213
  - bin/commands/users.rb
190
214
  - bin/commands/users_admin.rb
215
+ - bin/commands/users_discoverableContacts.rb
191
216
  - bin/commands/users_prefs.rb
192
217
  - bin/commands/users_profile.rb
193
218
  - bin/commands/views.rb
194
219
  - bin/commands/workflows.rb
220
+ - bin/commands/workflows_triggers_permissions.rb
195
221
  - bin/slack
222
+ - examples/files_upload_v2/.env.example
223
+ - examples/files_upload_v2/Gemfile
224
+ - examples/files_upload_v2/README.md
225
+ - examples/files_upload_v2/files_upload_v2.rb
196
226
  - examples/hi_real_time_and_web/Gemfile
197
227
  - examples/hi_real_time_and_web/hi.gif
198
228
  - examples/hi_real_time_and_web/hi.rb
@@ -204,6 +234,10 @@ files:
204
234
  - examples/hi_web/hi.rb
205
235
  - examples/new_ticket/Gemfile
206
236
  - examples/new_ticket/new_ticket.rb
237
+ - examples/oauth_v2/.env.example
238
+ - examples/oauth_v2/Gemfile
239
+ - examples/oauth_v2/README.md
240
+ - examples/oauth_v2/oauth_v2.rb
207
241
  - lib/slack-ruby-client.rb
208
242
  - lib/slack.rb
209
243
  - lib/slack/config.rb
@@ -268,6 +302,7 @@ files:
268
302
  - lib/slack/web/api/endpoints/admin_workflows.rb
269
303
  - lib/slack/web/api/endpoints/admin_workflows_collaborators.rb
270
304
  - lib/slack/web/api/endpoints/admin_workflows_permissions.rb
305
+ - lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb
271
306
  - lib/slack/web/api/endpoints/api.rb
272
307
  - lib/slack/web/api/endpoints/apps.rb
273
308
  - lib/slack/web/api/endpoints/apps_activities.rb
@@ -276,15 +311,22 @@ files:
276
311
  - lib/slack/web/api/endpoints/apps_datastore.rb
277
312
  - lib/slack/web/api/endpoints/apps_event_authorizations.rb
278
313
  - lib/slack/web/api/endpoints/apps_manifest.rb
314
+ - lib/slack/web/api/endpoints/assistant_threads.rb
279
315
  - lib/slack/web/api/endpoints/auth.rb
280
316
  - lib/slack/web/api/endpoints/auth_teams.rb
281
317
  - lib/slack/web/api/endpoints/bookmarks.rb
282
318
  - lib/slack/web/api/endpoints/bots.rb
283
319
  - lib/slack/web/api/endpoints/calls.rb
284
320
  - lib/slack/web/api/endpoints/calls_participants.rb
321
+ - lib/slack/web/api/endpoints/canvases.rb
322
+ - lib/slack/web/api/endpoints/canvases_access.rb
323
+ - lib/slack/web/api/endpoints/canvases_sections.rb
285
324
  - lib/slack/web/api/endpoints/chat.rb
286
325
  - lib/slack/web/api/endpoints/chat_scheduledMessages.rb
287
326
  - lib/slack/web/api/endpoints/conversations.rb
327
+ - lib/slack/web/api/endpoints/conversations_canvases.rb
328
+ - lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb
329
+ - lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb
288
330
  - lib/slack/web/api/endpoints/dialog.rb
289
331
  - lib/slack/web/api/endpoints/dnd.rb
290
332
  - lib/slack/web/api/endpoints/emoji.rb
@@ -292,6 +334,7 @@ files:
292
334
  - lib/slack/web/api/endpoints/files_comments.rb
293
335
  - lib/slack/web/api/endpoints/files_remote.rb
294
336
  - lib/slack/web/api/endpoints/functions.rb
337
+ - lib/slack/web/api/endpoints/functions_distributions_permissions.rb
295
338
  - lib/slack/web/api/endpoints/functions_workflows_steps.rb
296
339
  - lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb
297
340
  - lib/slack/web/api/endpoints/migration.rb
@@ -306,6 +349,7 @@ files:
306
349
  - lib/slack/web/api/endpoints/stars.rb
307
350
  - lib/slack/web/api/endpoints/team.rb
308
351
  - lib/slack/web/api/endpoints/team_billing.rb
352
+ - lib/slack/web/api/endpoints/team_externalTeams.rb
309
353
  - lib/slack/web/api/endpoints/team_preferences.rb
310
354
  - lib/slack/web/api/endpoints/team_profile.rb
311
355
  - lib/slack/web/api/endpoints/tooling_tokens.rb
@@ -313,15 +357,19 @@ files:
313
357
  - lib/slack/web/api/endpoints/usergroups_users.rb
314
358
  - lib/slack/web/api/endpoints/users.rb
315
359
  - lib/slack/web/api/endpoints/users_admin.rb
360
+ - lib/slack/web/api/endpoints/users_discoverableContacts.rb
316
361
  - lib/slack/web/api/endpoints/users_prefs.rb
317
362
  - lib/slack/web/api/endpoints/users_profile.rb
318
363
  - lib/slack/web/api/endpoints/views.rb
319
364
  - lib/slack/web/api/endpoints/workflows.rb
365
+ - lib/slack/web/api/endpoints/workflows_triggers_permissions.rb
320
366
  - lib/slack/web/api/error.rb
321
367
  - lib/slack/web/api/errors.rb
322
368
  - lib/slack/web/api/errors/server_error.rb
323
369
  - lib/slack/web/api/errors/slack_error.rb
324
370
  - lib/slack/web/api/errors/too_many_requests_error.rb
371
+ - lib/slack/web/api/helpers.rb
372
+ - lib/slack/web/api/helpers/files.rb
325
373
  - lib/slack/web/api/mixins.rb
326
374
  - lib/slack/web/api/mixins/conversations.id.rb
327
375
  - lib/slack/web/api/mixins/ids.id.rb
@@ -341,6 +389,7 @@ files:
341
389
  - lib/slack/web/client.rb
342
390
  - lib/slack/web/config.rb
343
391
  - lib/slack/web/faraday/connection.rb
392
+ - lib/slack/web/faraday/options.rb
344
393
  - lib/slack/web/faraday/request.rb
345
394
  - lib/slack/web/faraday/response/raise_error.rb
346
395
  - lib/slack/web/faraday/response/wrap_error.rb
@@ -350,149 +399,8 @@ files:
350
399
  - lib/tasks/real_time.rake
351
400
  - lib/tasks/update.rake
352
401
  - lib/tasks/web.rake
353
- - screenshots/create-app.png
354
402
  - slack-ruby-client.gemspec
355
403
  - slack.png
356
- - spec/fixtures/slack/web/429_error.yml
357
- - spec/fixtures/slack/web/auth_test_error.yml
358
- - spec/fixtures/slack/web/auth_test_success.yml
359
- - spec/fixtures/slack/web/conversations_info.yml
360
- - spec/fixtures/slack/web/conversations_setTopic.yml
361
- - spec/fixtures/slack/web/conversations_setTopic_one_page.yml
362
- - spec/fixtures/slack/web/conversations_setTopic_paginated.yml
363
- - spec/fixtures/slack/web/paginated_users_list.yml
364
- - spec/fixtures/slack/web/rtm_connect.yml
365
- - spec/fixtures/slack/web/users_info.yml
366
- - spec/fixtures/slack/web/users_list.yml
367
- - spec/fixtures/slack/web/views_open_error.yml
368
- - spec/integration/integration_spec.rb
369
- - spec/slack/config_spec.rb
370
- - spec/slack/events/config_spec.rb
371
- - spec/slack/events/request_spec.rb
372
- - spec/slack/messages/formatting_spec.rb
373
- - spec/slack/real_time/api/message_spec.rb
374
- - spec/slack/real_time/api/ping_spec.rb
375
- - spec/slack/real_time/api/typing_spec.rb
376
- - spec/slack/real_time/client_spec.rb
377
- - spec/slack/real_time/concurrency/clients/async_spec.rb
378
- - spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb
379
- - spec/slack/real_time/concurrency/with_concurrency_spec.rb
380
- - spec/slack/real_time/concurrency/without_concurrency_spec.rb
381
- - spec/slack/real_time/event_handlers/bot_spec.rb
382
- - spec/slack/real_time/event_handlers/event_handlers_spec.rb
383
- - spec/slack/real_time/event_handlers/im_spec.rb
384
- - spec/slack/real_time/event_handlers/private_channel_spec.rb
385
- - spec/slack/real_time/event_handlers/public_channel_spec.rb
386
- - spec/slack/real_time/event_handlers/team_spec.rb
387
- - spec/slack/real_time/event_handlers/user_spec.rb
388
- - spec/slack/real_time/rtm_connect_spec.rb
389
- - spec/slack/real_time/stores/store_spec.rb
390
- - spec/slack/slack_spec.rb
391
- - spec/slack/version_spec.rb
392
- - spec/slack/web/api/endpoints/admin_analytics_spec.rb
393
- - spec/slack/web/api/endpoints/admin_apps_activities_spec.rb
394
- - spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
395
- - spec/slack/web/api/endpoints/admin_apps_config_spec.rb
396
- - spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
397
- - spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
398
- - spec/slack/web/api/endpoints/admin_apps_spec.rb
399
- - spec/slack/web/api/endpoints/admin_audit_anomaly_allow_spec.rb
400
- - spec/slack/web/api/endpoints/admin_auth_policy_spec.rb
401
- - spec/slack/web/api/endpoints/admin_barriers_spec.rb
402
- - spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb
403
- - spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb
404
- - spec/slack/web/api/endpoints/admin_conversations_spec.rb
405
- - spec/slack/web/api/endpoints/admin_emoji_spec.rb
406
- - spec/slack/web/api/endpoints/admin_functions_permissions_spec.rb
407
- - spec/slack/web/api/endpoints/admin_functions_spec.rb
408
- - spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb
409
- - spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb
410
- - spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb
411
- - spec/slack/web/api/endpoints/admin_roles_spec.rb
412
- - spec/slack/web/api/endpoints/admin_teams_admins_spec.rb
413
- - spec/slack/web/api/endpoints/admin_teams_owners_spec.rb
414
- - spec/slack/web/api/endpoints/admin_teams_settings_spec.rb
415
- - spec/slack/web/api/endpoints/admin_teams_spec.rb
416
- - spec/slack/web/api/endpoints/admin_usergroups_spec.rb
417
- - spec/slack/web/api/endpoints/admin_users_session_spec.rb
418
- - spec/slack/web/api/endpoints/admin_users_spec.rb
419
- - spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb
420
- - spec/slack/web/api/endpoints/admin_workflows_collaborators_spec.rb
421
- - spec/slack/web/api/endpoints/admin_workflows_permissions_spec.rb
422
- - spec/slack/web/api/endpoints/admin_workflows_spec.rb
423
- - spec/slack/web/api/endpoints/api_spec.rb
424
- - spec/slack/web/api/endpoints/apps_activities_spec.rb
425
- - spec/slack/web/api/endpoints/apps_auth_external_spec.rb
426
- - spec/slack/web/api/endpoints/apps_connections_spec.rb
427
- - spec/slack/web/api/endpoints/apps_datastore_spec.rb
428
- - spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb
429
- - spec/slack/web/api/endpoints/apps_manifest_spec.rb
430
- - spec/slack/web/api/endpoints/apps_spec.rb
431
- - spec/slack/web/api/endpoints/auth_spec.rb
432
- - spec/slack/web/api/endpoints/auth_teams_spec.rb
433
- - spec/slack/web/api/endpoints/bookmarks_spec.rb
434
- - spec/slack/web/api/endpoints/bots_spec.rb
435
- - spec/slack/web/api/endpoints/calls_participants_spec.rb
436
- - spec/slack/web/api/endpoints/calls_spec.rb
437
- - spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb
438
- - spec/slack/web/api/endpoints/chat_spec.rb
439
- - spec/slack/web/api/endpoints/conversations_spec.rb
440
- - spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
441
- - spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
442
- - spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb
443
- - spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
444
- - spec/slack/web/api/endpoints/custom_specs/users_spec.rb
445
- - spec/slack/web/api/endpoints/custom_specs/views_spec.rb
446
- - spec/slack/web/api/endpoints/dialog_spec.rb
447
- - spec/slack/web/api/endpoints/dnd_spec.rb
448
- - spec/slack/web/api/endpoints/emoji_spec.rb
449
- - spec/slack/web/api/endpoints/files_comments_spec.rb
450
- - spec/slack/web/api/endpoints/files_remote_spec.rb
451
- - spec/slack/web/api/endpoints/files_spec.rb
452
- - spec/slack/web/api/endpoints/functions_spec.rb
453
- - spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb
454
- - spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb
455
- - spec/slack/web/api/endpoints/migration_spec.rb
456
- - spec/slack/web/api/endpoints/oauth_spec.rb
457
- - spec/slack/web/api/endpoints/oauth_v2_spec.rb
458
- - spec/slack/web/api/endpoints/openid_connect_spec.rb
459
- - spec/slack/web/api/endpoints/pins_spec.rb
460
- - spec/slack/web/api/endpoints/reactions_spec.rb
461
- - spec/slack/web/api/endpoints/reminders_spec.rb
462
- - spec/slack/web/api/endpoints/rtm_spec.rb
463
- - spec/slack/web/api/endpoints/search_spec.rb
464
- - spec/slack/web/api/endpoints/stars_spec.rb
465
- - spec/slack/web/api/endpoints/team_billing_spec.rb
466
- - spec/slack/web/api/endpoints/team_preferences_spec.rb
467
- - spec/slack/web/api/endpoints/team_profile_spec.rb
468
- - spec/slack/web/api/endpoints/team_spec.rb
469
- - spec/slack/web/api/endpoints/tooling_tokens_spec.rb
470
- - spec/slack/web/api/endpoints/usergroups_spec.rb
471
- - spec/slack/web/api/endpoints/usergroups_users_spec.rb
472
- - spec/slack/web/api/endpoints/users_admin_spec.rb
473
- - spec/slack/web/api/endpoints/users_prefs_spec.rb
474
- - spec/slack/web/api/endpoints/users_profile_spec.rb
475
- - spec/slack/web/api/endpoints/users_spec.rb
476
- - spec/slack/web/api/endpoints/views_spec.rb
477
- - spec/slack/web/api/endpoints/workflows_spec.rb
478
- - spec/slack/web/api/error_spec.rb
479
- - spec/slack/web/api/errors/slack_error_spec.rb
480
- - spec/slack/web/api/mixins/conversations_list_spec.rb
481
- - spec/slack/web/api/mixins/conversations_spec.rb
482
- - spec/slack/web/api/mixins/users_spec.rb
483
- - spec/slack/web/api/options_spec.rb
484
- - spec/slack/web/api/pagination/cursor_spec.rb
485
- - spec/slack/web/client_spec.rb
486
- - spec/slack/web/faraday/request_spec.rb
487
- - spec/slack/web/faraday/response/raise_error_spec.rb
488
- - spec/spec_helper.rb
489
- - spec/support/queue_with_timeout.rb
490
- - spec/support/real_time/concurrency/mock.rb
491
- - spec/support/real_time/connected_client.rb
492
- - spec/support/real_time/event.rb
493
- - spec/support/real_time/loaded_client.rb
494
- - spec/support/token.rb
495
- - spec/support/vcr.rb
496
404
  homepage: http://github.com/slack-ruby/slack-ruby-client
497
405
  licenses:
498
406
  - MIT
@@ -514,7 +422,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
514
422
  - !ruby/object:Gem::Version
515
423
  version: 1.3.6
516
424
  requirements: []
517
- rubygems_version: 3.3.7
425
+ rubygems_version: 3.5.16
518
426
  signing_key:
519
427
  specification_version: 4
520
428
  summary: Slack Web and RealTime API client.
Binary file