slack-ruby-client 3.2.0 → 3.3.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 (307) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +0 -0
  3. data/.github/FUNDING.yml +0 -0
  4. data/.github/dependabot.yml +0 -0
  5. data/.github/prompts/changelog-entries.prompt.yml +32 -0
  6. data/.github/workflows/danger-comment.yml +0 -0
  7. data/.github/workflows/danger.yml +0 -0
  8. data/.github/workflows/lint.yml +2 -0
  9. data/.github/workflows/test.yml +0 -0
  10. data/.github/workflows/update_api.yml +86 -6
  11. data/.gitignore +0 -0
  12. data/.gitmodules +0 -0
  13. data/.rspec +0 -0
  14. data/.rubocop.yml +2 -1
  15. data/.rubocop_todo.yml +13 -2
  16. data/.ruby-version +0 -0
  17. data/AGENTS.md +12 -0
  18. data/CHANGELOG.md +33 -0
  19. data/CONTRIBUTING.md +10 -1
  20. data/Dangerfile +0 -0
  21. data/Gemfile +17 -5
  22. data/LICENSE.md +0 -0
  23. data/README.md +47 -2
  24. data/RELEASING.md +2 -2
  25. data/Rakefile +7 -3
  26. data/SECURITY.md +0 -0
  27. data/UPGRADING.md +12 -0
  28. data/bin/commands/admin_analytics.rb +0 -0
  29. data/bin/commands/admin_analytics_messages.rb +2 -2
  30. data/bin/commands/admin_apps.rb +0 -0
  31. data/bin/commands/admin_apps_activities.rb +0 -0
  32. data/bin/commands/admin_apps_approved.rb +0 -0
  33. data/bin/commands/admin_apps_config.rb +0 -0
  34. data/bin/commands/admin_apps_mcp_servers.rb +21 -0
  35. data/bin/commands/admin_apps_mcp_servers_permissions.rb +33 -0
  36. data/bin/commands/admin_apps_permissions.rb +58 -0
  37. data/bin/commands/admin_apps_requests.rb +0 -0
  38. data/bin/commands/admin_apps_restricted.rb +0 -0
  39. data/bin/commands/admin_audit_anomaly_allow.rb +0 -0
  40. data/bin/commands/admin_auth_policy.rb +0 -0
  41. data/bin/commands/admin_barriers.rb +0 -0
  42. data/bin/commands/admin_conversations.rb +12 -2
  43. data/bin/commands/admin_conversations_ekm.rb +0 -0
  44. data/bin/commands/admin_conversations_restrictAccess.rb +0 -0
  45. data/bin/commands/admin_emoji.rb +0 -0
  46. data/bin/commands/admin_functions.rb +1 -1
  47. data/bin/commands/admin_functions_permissions.rb +0 -0
  48. data/bin/commands/admin_inviteRequests.rb +0 -0
  49. data/bin/commands/admin_inviteRequests_approved.rb +0 -0
  50. data/bin/commands/admin_inviteRequests_denied.rb +0 -0
  51. data/bin/commands/admin_roles.rb +0 -0
  52. data/bin/commands/admin_teams.rb +0 -0
  53. data/bin/commands/admin_teams_admins.rb +0 -0
  54. data/bin/commands/admin_teams_owners.rb +0 -0
  55. data/bin/commands/admin_teams_settings.rb +0 -0
  56. data/bin/commands/admin_usergroups.rb +74 -0
  57. data/bin/commands/admin_users.rb +0 -0
  58. data/bin/commands/admin_users_session.rb +0 -1
  59. data/bin/commands/admin_users_unsupportedVersions.rb +0 -0
  60. data/bin/commands/admin_workflows.rb +0 -0
  61. data/bin/commands/admin_workflows_collaborators.rb +0 -0
  62. data/bin/commands/admin_workflows_permissions.rb +0 -0
  63. data/bin/commands/admin_workflows_triggers_types_permissions.rb +0 -0
  64. data/bin/commands/agents_sessions.rb +38 -0
  65. data/bin/commands/api.rb +0 -0
  66. data/bin/commands/apps.rb +0 -0
  67. data/bin/commands/apps_activities.rb +0 -0
  68. data/bin/commands/apps_auth_external.rb +0 -0
  69. data/bin/commands/apps_connections.rb +0 -0
  70. data/bin/commands/apps_datastore.rb +0 -0
  71. data/bin/commands/apps_event_authorizations.rb +0 -0
  72. data/bin/commands/apps_icon.rb +0 -0
  73. data/bin/commands/apps_managed_permissions.rb +21 -0
  74. data/bin/commands/apps_manifest.rb +0 -0
  75. data/bin/commands/apps_user_connection.rb +0 -0
  76. data/bin/commands/assistant_search.rb +0 -0
  77. data/bin/commands/assistant_threads.rb +1 -1
  78. data/bin/commands/auth.rb +0 -0
  79. data/bin/commands/auth_teams.rb +0 -0
  80. data/bin/commands/blocks.rb +0 -0
  81. data/bin/commands/bookmarks.rb +0 -0
  82. data/bin/commands/bots.rb +0 -0
  83. data/bin/commands/calls.rb +0 -0
  84. data/bin/commands/calls_participants.rb +0 -0
  85. data/bin/commands/canvases.rb +12 -2
  86. data/bin/commands/canvases_access.rb +0 -0
  87. data/bin/commands/canvases_sections.rb +0 -0
  88. data/bin/commands/chat.rb +9 -6
  89. data/bin/commands/chat_scheduledMessages.rb +0 -0
  90. data/bin/commands/conversations.rb +1 -1
  91. data/bin/commands/conversations_canvases.rb +1 -1
  92. data/bin/commands/conversations_externalInvitePermissions.rb +0 -0
  93. data/bin/commands/conversations_requestSharedInvite.rb +0 -0
  94. data/bin/commands/dialog.rb +0 -0
  95. data/bin/commands/dnd.rb +0 -0
  96. data/bin/commands/emoji.rb +0 -0
  97. data/bin/commands/entity.rb +27 -0
  98. data/bin/commands/files.rb +3 -0
  99. data/bin/commands/files_comments.rb +0 -0
  100. data/bin/commands/files_remote.rb +0 -0
  101. data/bin/commands/functions.rb +0 -0
  102. data/bin/commands/functions_distributions_permissions.rb +0 -0
  103. data/bin/commands/functions_workflows_steps.rb +0 -0
  104. data/bin/commands/functions_workflows_steps_responses.rb +0 -0
  105. data/bin/commands/migration.rb +0 -0
  106. data/bin/commands/oauth.rb +0 -0
  107. data/bin/commands/oauth_v2.rb +21 -0
  108. data/bin/commands/oauth_v2_user.rb +0 -0
  109. data/bin/commands/openid_connect.rb +0 -0
  110. data/bin/commands/pins.rb +0 -0
  111. data/bin/commands/reactions.rb +0 -0
  112. data/bin/commands/reminders.rb +0 -0
  113. data/bin/commands/rtm.rb +0 -0
  114. data/bin/commands/search.rb +0 -0
  115. data/bin/commands/slackLists.rb +0 -0
  116. data/bin/commands/slackLists_access.rb +0 -0
  117. data/bin/commands/slackLists_download.rb +6 -0
  118. data/bin/commands/slackLists_items.rb +1 -0
  119. data/bin/commands/stars.rb +0 -0
  120. data/bin/commands/team.rb +0 -0
  121. data/bin/commands/team_billing.rb +0 -0
  122. data/bin/commands/team_externalTeams.rb +0 -0
  123. data/bin/commands/team_preferences.rb +0 -0
  124. data/bin/commands/team_profile.rb +0 -0
  125. data/bin/commands/tooling_tokens.rb +0 -0
  126. data/bin/commands/usergroups.rb +0 -0
  127. data/bin/commands/usergroups_users.rb +0 -0
  128. data/bin/commands/users.rb +1 -0
  129. data/bin/commands/users_admin.rb +0 -0
  130. data/bin/commands/users_discoverableContacts.rb +0 -0
  131. data/bin/commands/users_prefs.rb +0 -0
  132. data/bin/commands/users_profile.rb +0 -0
  133. data/bin/commands/views.rb +0 -0
  134. data/bin/commands/workflows_featured.rb +0 -0
  135. data/bin/commands/workflows_triggers_permissions.rb +0 -0
  136. data/bin/slack +5 -1
  137. data/examples/files_upload_v2/.env.example +0 -0
  138. data/examples/files_upload_v2/Gemfile +0 -0
  139. data/examples/files_upload_v2/README.md +0 -0
  140. data/examples/files_upload_v2/files_upload_v2.rb +1 -1
  141. data/examples/hi_web/Gemfile +0 -0
  142. data/examples/hi_web/hi.gif +0 -0
  143. data/examples/hi_web/hi.rb +1 -1
  144. data/examples/new_ticket/Gemfile +0 -0
  145. data/examples/new_ticket/new_ticket.rb +1 -1
  146. data/examples/oauth_v2/.env.example +0 -0
  147. data/examples/oauth_v2/Gemfile +0 -0
  148. data/examples/oauth_v2/README.md +0 -0
  149. data/examples/oauth_v2/oauth_v2.rb +6 -6
  150. data/lib/slack/config.rb +0 -0
  151. data/lib/slack/events/config.rb +1 -1
  152. data/lib/slack/events/request.rb +2 -2
  153. data/lib/slack/logger.rb +0 -0
  154. data/lib/slack/messages/formatting.rb +0 -0
  155. data/lib/slack/messages/message.rb +0 -0
  156. data/lib/slack/utils/security.rb +0 -0
  157. data/lib/slack/version.rb +1 -1
  158. data/lib/slack/web/api/endpoints/admin_analytics.rb +0 -0
  159. data/lib/slack/web/api/endpoints/admin_analytics_messages.rb +2 -2
  160. data/lib/slack/web/api/endpoints/admin_apps.rb +0 -0
  161. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +0 -0
  162. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +0 -0
  163. data/lib/slack/web/api/endpoints/admin_apps_config.rb +0 -0
  164. data/lib/slack/web/api/endpoints/admin_apps_mcp_servers.rb +31 -0
  165. data/lib/slack/web/api/endpoints/admin_apps_mcp_servers_permissions.rb +46 -0
  166. data/lib/slack/web/api/endpoints/admin_apps_permissions.rb +83 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +0 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +0 -0
  169. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +0 -0
  170. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +0 -0
  171. data/lib/slack/web/api/endpoints/admin_barriers.rb +0 -0
  172. data/lib/slack/web/api/endpoints/admin_conversations.rb +16 -1
  173. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +0 -0
  174. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +0 -0
  175. data/lib/slack/web/api/endpoints/admin_emoji.rb +0 -1
  176. data/lib/slack/web/api/endpoints/admin_functions.rb +1 -1
  177. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +0 -0
  178. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +0 -0
  179. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +0 -0
  180. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +0 -0
  181. data/lib/slack/web/api/endpoints/admin_roles.rb +0 -0
  182. data/lib/slack/web/api/endpoints/admin_teams.rb +0 -0
  183. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +0 -0
  184. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +0 -0
  185. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +0 -0
  186. data/lib/slack/web/api/endpoints/admin_usergroups.rb +111 -0
  187. data/lib/slack/web/api/endpoints/admin_users.rb +1 -0
  188. data/lib/slack/web/api/endpoints/admin_users_session.rb +0 -2
  189. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +0 -0
  190. data/lib/slack/web/api/endpoints/admin_workflows.rb +0 -0
  191. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +0 -0
  192. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +0 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +0 -0
  194. data/lib/slack/web/api/endpoints/agents_sessions.rb +54 -0
  195. data/lib/slack/web/api/endpoints/api.rb +0 -0
  196. data/lib/slack/web/api/endpoints/apps.rb +0 -0
  197. data/lib/slack/web/api/endpoints/apps_activities.rb +0 -0
  198. data/lib/slack/web/api/endpoints/apps_auth_external.rb +0 -0
  199. data/lib/slack/web/api/endpoints/apps_connections.rb +0 -0
  200. data/lib/slack/web/api/endpoints/apps_datastore.rb +0 -0
  201. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -0
  202. data/lib/slack/web/api/endpoints/apps_icon.rb +0 -0
  203. data/lib/slack/web/api/endpoints/apps_managed_permissions.rb +27 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +0 -0
  205. data/lib/slack/web/api/endpoints/apps_user_connection.rb +0 -0
  206. data/lib/slack/web/api/endpoints/assistant_search.rb +0 -0
  207. data/lib/slack/web/api/endpoints/assistant_threads.rb +1 -1
  208. data/lib/slack/web/api/endpoints/auth.rb +0 -0
  209. data/lib/slack/web/api/endpoints/auth_teams.rb +0 -0
  210. data/lib/slack/web/api/endpoints/blocks.rb +0 -0
  211. data/lib/slack/web/api/endpoints/bookmarks.rb +0 -0
  212. data/lib/slack/web/api/endpoints/bots.rb +0 -0
  213. data/lib/slack/web/api/endpoints/calls.rb +0 -0
  214. data/lib/slack/web/api/endpoints/calls_participants.rb +0 -0
  215. data/lib/slack/web/api/endpoints/canvases.rb +16 -2
  216. data/lib/slack/web/api/endpoints/canvases_access.rb +0 -0
  217. data/lib/slack/web/api/endpoints/canvases_sections.rb +0 -0
  218. data/lib/slack/web/api/endpoints/chat.rb +13 -9
  219. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +0 -0
  220. data/lib/slack/web/api/endpoints/conversations.rb +1 -1
  221. data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
  222. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +0 -0
  223. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +0 -0
  224. data/lib/slack/web/api/endpoints/dialog.rb +0 -0
  225. data/lib/slack/web/api/endpoints/dnd.rb +0 -0
  226. data/lib/slack/web/api/endpoints/emoji.rb +0 -0
  227. data/lib/slack/web/api/endpoints/entity.rb +48 -0
  228. data/lib/slack/web/api/endpoints/files.rb +7 -0
  229. data/lib/slack/web/api/endpoints/files_comments.rb +0 -0
  230. data/lib/slack/web/api/endpoints/files_remote.rb +0 -0
  231. data/lib/slack/web/api/endpoints/functions.rb +0 -0
  232. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +0 -0
  233. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +0 -0
  234. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +0 -0
  235. data/lib/slack/web/api/endpoints/migration.rb +0 -0
  236. data/lib/slack/web/api/endpoints/oauth.rb +0 -0
  237. data/lib/slack/web/api/endpoints/oauth_v2.rb +33 -0
  238. data/lib/slack/web/api/endpoints/oauth_v2_user.rb +0 -0
  239. data/lib/slack/web/api/endpoints/openid_connect.rb +0 -0
  240. data/lib/slack/web/api/endpoints/pins.rb +0 -0
  241. data/lib/slack/web/api/endpoints/reactions.rb +0 -0
  242. data/lib/slack/web/api/endpoints/reminders.rb +0 -0
  243. data/lib/slack/web/api/endpoints/rtm.rb +0 -0
  244. data/lib/slack/web/api/endpoints/search.rb +0 -0
  245. data/lib/slack/web/api/endpoints/slackLists.rb +0 -0
  246. data/lib/slack/web/api/endpoints/slackLists_access.rb +0 -0
  247. data/lib/slack/web/api/endpoints/slackLists_download.rb +12 -0
  248. data/lib/slack/web/api/endpoints/slackLists_items.rb +2 -0
  249. data/lib/slack/web/api/endpoints/stars.rb +0 -0
  250. data/lib/slack/web/api/endpoints/team.rb +0 -0
  251. data/lib/slack/web/api/endpoints/team_billing.rb +0 -0
  252. data/lib/slack/web/api/endpoints/team_externalTeams.rb +0 -0
  253. data/lib/slack/web/api/endpoints/team_preferences.rb +0 -0
  254. data/lib/slack/web/api/endpoints/team_profile.rb +0 -0
  255. data/lib/slack/web/api/endpoints/tooling_tokens.rb +0 -0
  256. data/lib/slack/web/api/endpoints/usergroups.rb +0 -0
  257. data/lib/slack/web/api/endpoints/usergroups_users.rb +0 -0
  258. data/lib/slack/web/api/endpoints/users.rb +2 -1
  259. data/lib/slack/web/api/endpoints/users_admin.rb +0 -0
  260. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -0
  261. data/lib/slack/web/api/endpoints/users_prefs.rb +0 -0
  262. data/lib/slack/web/api/endpoints/users_profile.rb +0 -0
  263. data/lib/slack/web/api/endpoints/views.rb +0 -0
  264. data/lib/slack/web/api/endpoints/workflows_featured.rb +0 -0
  265. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +0 -0
  266. data/lib/slack/web/api/endpoints.rb +10 -0
  267. data/lib/slack/web/api/error.rb +0 -0
  268. data/lib/slack/web/api/errors/server_error.rb +1 -1
  269. data/lib/slack/web/api/errors/slack_error.rb +1 -1
  270. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -1
  271. data/lib/slack/web/api/errors.rb +126 -8
  272. data/lib/slack/web/api/helpers/files.rb +2 -2
  273. data/lib/slack/web/api/helpers.rb +0 -0
  274. data/lib/slack/web/api/mixins/conversations.id.rb +2 -1
  275. data/lib/slack/web/api/mixins/ids.id.rb +0 -0
  276. data/lib/slack/web/api/mixins/users.id.json +0 -0
  277. data/lib/slack/web/api/mixins/users.id.rb +2 -1
  278. data/lib/slack/web/api/mixins/users.search.json +0 -0
  279. data/lib/slack/web/api/mixins/users.search.rb +1 -1
  280. data/lib/slack/web/api/mixins.rb +0 -0
  281. data/lib/slack/web/api/options.rb +0 -0
  282. data/lib/slack/web/api/patches/.gitkeep +0 -0
  283. data/lib/slack/web/api/patches/files.default-filename.patch +12 -0
  284. data/lib/slack/web/api/schema/group.json +0 -0
  285. data/lib/slack/web/api/schema/method.json +0 -0
  286. data/lib/slack/web/api/templates/command.erb +0 -0
  287. data/lib/slack/web/api/templates/endpoints.erb +0 -0
  288. data/lib/slack/web/api/templates/errors.erb +0 -0
  289. data/lib/slack/web/api/templates/method.erb +0 -0
  290. data/lib/slack/web/api/templates/method_spec.erb +0 -0
  291. data/lib/slack/web/client.rb +29 -0
  292. data/lib/slack/web/config.rb +0 -0
  293. data/lib/slack/web/faraday/connection.rb +0 -0
  294. data/lib/slack/web/faraday/options.rb +0 -0
  295. data/lib/slack/web/faraday/request.rb +22 -2
  296. data/lib/slack/web/faraday/response/raise_error.rb +0 -0
  297. data/lib/slack/web/faraday/response/wrap_error.rb +0 -0
  298. data/lib/slack/web/pagination/cursor.rb +0 -0
  299. data/lib/slack-ruby-client.rb +0 -0
  300. data/lib/slack.rb +0 -0
  301. data/lib/slack_ruby_client.rb +0 -0
  302. data/lib/tasks/git.rake +0 -0
  303. data/lib/tasks/update.rake +0 -0
  304. data/lib/tasks/web.rake +0 -0
  305. data/slack-ruby-client.gemspec +0 -1
  306. data/slack.png +0 -0
  307. metadata +20 -17
@@ -45,12 +45,12 @@ module Slack
45
45
 
46
46
  files_to_upload.each_with_index do |file, index|
47
47
  %i[filename content].each do |param|
48
- raise ArgumentError, "Required argument :#{param} missing in file (#{index})" if file[param].nil?
48
+ raise ArgumentError, "required argument :`#{param}` missing in file (`#{index}`)" if file[param].nil?
49
49
  end
50
50
  end
51
51
 
52
52
  channel_params = %i[channel channels channel_id].map { |param| params[param] }.compact
53
- raise ArgumentError, 'Only one of :channel, :channels, or :channel_id is required' if channel_params.size > 1
53
+ raise ArgumentError, 'only one of :channel, :channels, or :channel_id is required' if channel_params.size > 1
54
54
 
55
55
  complete_upload_request_params = params.slice(:initial_comment, :blocks, :thread_ts)
56
56
 
File without changes
@@ -7,6 +7,7 @@ module Slack
7
7
  module Mixins
8
8
  module Conversations
9
9
  include Ids
10
+
10
11
  #
11
12
  # This method returns a channel ID given a channel name.
12
13
  #
@@ -24,7 +25,7 @@ module Slack
24
25
  # containing one or more of public_channel, private_channel, mpim, im
25
26
  def conversations_id(options = {})
26
27
  name = options[:channel]
27
- raise ArgumentError, 'Required arguments :channel missing' if name.nil?
28
+ raise ArgumentError, 'required arguments :channel missing' if name.nil?
28
29
 
29
30
  id_for(
30
31
  key: :channel,
File without changes
File without changes
@@ -7,6 +7,7 @@ module Slack
7
7
  module Mixins
8
8
  module Users
9
9
  include Ids
10
+
10
11
  #
11
12
  # This method returns a user ID given a user name.
12
13
  #
@@ -19,7 +20,7 @@ module Slack
19
20
  # The page size used for users_list calls required to find the user's ID
20
21
  def users_id(options = {})
21
22
  name = options[:user]
22
- raise ArgumentError, 'Required arguments :user missing' if name.nil?
23
+ raise ArgumentError, 'required arguments :user missing' if name.nil?
23
24
 
24
25
  id_for(
25
26
  key: :user,
File without changes
@@ -14,7 +14,7 @@ if defined?(Picky)
14
14
  # Free-formed text to search for.
15
15
  def users_search(options = {})
16
16
  query = options[:user]
17
- raise ArgumentError, 'Required arguments :user missing' if query.nil?
17
+ raise ArgumentError, 'required arguments :user missing' if query.nil?
18
18
 
19
19
  index = Picky::Index.new(:users) do
20
20
  category :name
File without changes
File without changes
File without changes
@@ -0,0 +1,12 @@
1
+ diff --git a/lib/slack/web/api/endpoints/files.rb b/lib/slack/web/api/endpoints/files.rb
2
+ index 13a1889..9ce4894 100644
3
+ --- a/lib/slack/web/api/endpoints/files.rb
4
+ +++ b/lib/slack/web/api/endpoints/files.rb
5
+ @@ -192,6 +192,7 @@ module Slack
6
+ # @see https://api.slack.com/methods/files.upload
7
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.upload.json
8
+ def files_upload(options = {})
9
+ + options = options.merge(filename: 'file') if options[:file] && !options[:filename]
10
+ post('files.upload', options)
11
+ end
12
+ end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -14,10 +14,29 @@ module Slack
14
14
  Slack::Web::Config::ATTRIBUTES.each do |key|
15
15
  send("#{key}=", options.fetch(key, Slack::Web.config.send(key)))
16
16
  end
17
+
17
18
  @logger ||= Slack::Config.logger || Slack::Logger.default
18
19
  @token ||= Slack.config.token
19
20
  end
20
21
 
22
+ def with_response(&block)
23
+ raise ArgumentError, 'response callback block is required' unless block
24
+
25
+ with_callback(:@response_callbacks, block)
26
+ end
27
+
28
+ def with_request(&block)
29
+ raise ArgumentError, 'request callback block is required' unless block
30
+
31
+ with_callback(:@request_callbacks, block)
32
+ end
33
+
34
+ def with_error(&block)
35
+ raise ArgumentError, 'error callback block is required' unless block
36
+
37
+ with_callback(:@error_callbacks, block)
38
+ end
39
+
21
40
  class << self
22
41
  def configure
23
42
  block_given? ? yield(Config) : Config
@@ -27,6 +46,16 @@ module Slack
27
46
  Config
28
47
  end
29
48
  end
49
+
50
+ private
51
+
52
+ def with_callback(variable, block)
53
+ copy = dup
54
+ copy.instance_variable_set(:@connection, nil)
55
+ copy.instance_variable_set(:@options, nil)
56
+ copy.instance_variable_set(variable, Array(instance_variable_get(variable)) + [block])
57
+ copy
58
+ end
30
59
  end
31
60
  end
32
61
  end
File without changes
File without changes
File without changes
@@ -22,7 +22,14 @@ module Slack
22
22
  private
23
23
 
24
24
  def request(method, path, options)
25
- response = connection.send(method) do |request|
25
+ response = perform_request(method, path, options)
26
+ Array(@response_callbacks).each { |callback| callback.call(response) }
27
+ response.body
28
+ end
29
+
30
+ def perform_request(method, path, options)
31
+ configuring_request = false
32
+ perform_http_request(method, -> { configuring_request }) do |request|
26
33
  case method
27
34
  when :get, :delete
28
35
  request.url(path, options)
@@ -34,9 +41,22 @@ module Slack
34
41
  request.headers['Authorization'] = "Bearer #{token}" if token
35
42
 
36
43
  request.options.merge!(options.delete(:request)) if options.key?(:request)
44
+ configuring_request = true
45
+ Array(@request_callbacks).each { |callback| callback.call(request) }
46
+ configuring_request = false
37
47
  end
38
- response.body
48
+ rescue ::Faraday::Error => e
49
+ raise if configuring_request
50
+
51
+ Array(@error_callbacks).each { |callback| callback.call(e) }
52
+ raise
53
+ end
54
+
55
+ def perform_http_request(method, configuring_request, &block)
56
+ connection.send(method, &block)
39
57
  rescue ::Faraday::ParsingError => e
58
+ raise if configuring_request.call
59
+
40
60
  raise Slack::Web::Api::Errors::ParsingError, e.response
41
61
  end
42
62
  end
File without changes
File without changes
File without changes
File without changes
data/lib/slack.rb CHANGED
File without changes
File without changes
data/lib/tasks/git.rake CHANGED
File without changes
File without changes
data/lib/tasks/web.rake CHANGED
File without changes
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency 'faraday', '>= 2.0.1'
21
21
  s.add_dependency 'faraday-mashify'
22
22
  s.add_dependency 'faraday-multipart'
23
- s.add_dependency 'gli'
24
23
  s.add_dependency 'hashie'
25
24
  s.add_dependency 'logger'
26
25
  s.metadata['rubygems_mfa_required'] = 'true'
data/slack.png CHANGED
File without changes
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-10-10 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: faraday
@@ -51,20 +52,6 @@ dependencies:
51
52
  - - ">="
52
53
  - !ruby/object:Gem::Version
53
54
  version: '0'
54
- - !ruby/object:Gem::Dependency
55
- name: gli
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- type: :runtime
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
55
  - !ruby/object:Gem::Dependency
69
56
  name: hashie
70
57
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +80,7 @@ dependencies:
93
80
  - - ">="
94
81
  - !ruby/object:Gem::Version
95
82
  version: '0'
83
+ description:
96
84
  email: dblock@dblock.org
97
85
  executables:
98
86
  - slack
@@ -102,6 +90,7 @@ files:
102
90
  - ".coveralls.yml"
103
91
  - ".github/FUNDING.yml"
104
92
  - ".github/dependabot.yml"
93
+ - ".github/prompts/changelog-entries.prompt.yml"
105
94
  - ".github/workflows/danger-comment.yml"
106
95
  - ".github/workflows/danger.yml"
107
96
  - ".github/workflows/lint.yml"
@@ -113,6 +102,7 @@ files:
113
102
  - ".rubocop.yml"
114
103
  - ".rubocop_todo.yml"
115
104
  - ".ruby-version"
105
+ - AGENTS.md
116
106
  - CHANGELOG.md
117
107
  - CONTRIBUTING.md
118
108
  - Dangerfile
@@ -129,6 +119,9 @@ files:
129
119
  - bin/commands/admin_apps_activities.rb
130
120
  - bin/commands/admin_apps_approved.rb
131
121
  - bin/commands/admin_apps_config.rb
122
+ - bin/commands/admin_apps_mcp_servers.rb
123
+ - bin/commands/admin_apps_mcp_servers_permissions.rb
124
+ - bin/commands/admin_apps_permissions.rb
132
125
  - bin/commands/admin_apps_requests.rb
133
126
  - bin/commands/admin_apps_restricted.rb
134
127
  - bin/commands/admin_audit_anomaly_allow.rb
@@ -156,6 +149,7 @@ files:
156
149
  - bin/commands/admin_workflows_collaborators.rb
157
150
  - bin/commands/admin_workflows_permissions.rb
158
151
  - bin/commands/admin_workflows_triggers_types_permissions.rb
152
+ - bin/commands/agents_sessions.rb
159
153
  - bin/commands/api.rb
160
154
  - bin/commands/apps.rb
161
155
  - bin/commands/apps_activities.rb
@@ -164,6 +158,7 @@ files:
164
158
  - bin/commands/apps_datastore.rb
165
159
  - bin/commands/apps_event_authorizations.rb
166
160
  - bin/commands/apps_icon.rb
161
+ - bin/commands/apps_managed_permissions.rb
167
162
  - bin/commands/apps_manifest.rb
168
163
  - bin/commands/apps_user_connection.rb
169
164
  - bin/commands/assistant_search.rb
@@ -257,6 +252,9 @@ files:
257
252
  - lib/slack/web/api/endpoints/admin_apps_activities.rb
258
253
  - lib/slack/web/api/endpoints/admin_apps_approved.rb
259
254
  - lib/slack/web/api/endpoints/admin_apps_config.rb
255
+ - lib/slack/web/api/endpoints/admin_apps_mcp_servers.rb
256
+ - lib/slack/web/api/endpoints/admin_apps_mcp_servers_permissions.rb
257
+ - lib/slack/web/api/endpoints/admin_apps_permissions.rb
260
258
  - lib/slack/web/api/endpoints/admin_apps_requests.rb
261
259
  - lib/slack/web/api/endpoints/admin_apps_restricted.rb
262
260
  - lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb
@@ -284,6 +282,7 @@ files:
284
282
  - lib/slack/web/api/endpoints/admin_workflows_collaborators.rb
285
283
  - lib/slack/web/api/endpoints/admin_workflows_permissions.rb
286
284
  - lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb
285
+ - lib/slack/web/api/endpoints/agents_sessions.rb
287
286
  - lib/slack/web/api/endpoints/api.rb
288
287
  - lib/slack/web/api/endpoints/apps.rb
289
288
  - lib/slack/web/api/endpoints/apps_activities.rb
@@ -292,6 +291,7 @@ files:
292
291
  - lib/slack/web/api/endpoints/apps_datastore.rb
293
292
  - lib/slack/web/api/endpoints/apps_event_authorizations.rb
294
293
  - lib/slack/web/api/endpoints/apps_icon.rb
294
+ - lib/slack/web/api/endpoints/apps_managed_permissions.rb
295
295
  - lib/slack/web/api/endpoints/apps_manifest.rb
296
296
  - lib/slack/web/api/endpoints/apps_user_connection.rb
297
297
  - lib/slack/web/api/endpoints/assistant_search.rb
@@ -370,6 +370,7 @@ files:
370
370
  - lib/slack/web/api/mixins/users.search.rb
371
371
  - lib/slack/web/api/options.rb
372
372
  - lib/slack/web/api/patches/.gitkeep
373
+ - lib/slack/web/api/patches/files.default-filename.patch
373
374
  - lib/slack/web/api/schema/group.json
374
375
  - lib/slack/web/api/schema/method.json
375
376
  - lib/slack/web/api/templates/command.erb
@@ -397,6 +398,7 @@ licenses:
397
398
  metadata:
398
399
  rubygems_mfa_required: 'true'
399
400
  changelog_uri: https://github.com/slack-ruby/slack-ruby-client/blob/master/CHANGELOG.md
401
+ post_install_message:
400
402
  rdoc_options: []
401
403
  require_paths:
402
404
  - lib
@@ -411,7 +413,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
411
413
  - !ruby/object:Gem::Version
412
414
  version: 1.3.6
413
415
  requirements: []
414
- rubygems_version: 3.6.9
416
+ rubygems_version: 3.5.16
417
+ signing_key:
415
418
  specification_version: 4
416
419
  summary: Slack Web and RealTime API client.
417
420
  test_files: []