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.
- checksums.yaml +4 -4
- data/.coveralls.yml +0 -0
- data/.github/FUNDING.yml +0 -0
- data/.github/dependabot.yml +0 -0
- data/.github/prompts/changelog-entries.prompt.yml +32 -0
- data/.github/workflows/danger-comment.yml +0 -0
- data/.github/workflows/danger.yml +0 -0
- data/.github/workflows/lint.yml +2 -0
- data/.github/workflows/test.yml +0 -0
- data/.github/workflows/update_api.yml +86 -6
- data/.gitignore +0 -0
- data/.gitmodules +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +2 -1
- data/.rubocop_todo.yml +13 -2
- data/.ruby-version +0 -0
- data/AGENTS.md +12 -0
- data/CHANGELOG.md +33 -0
- data/CONTRIBUTING.md +10 -1
- data/Dangerfile +0 -0
- data/Gemfile +17 -5
- data/LICENSE.md +0 -0
- data/README.md +47 -2
- data/RELEASING.md +2 -2
- data/Rakefile +7 -3
- data/SECURITY.md +0 -0
- data/UPGRADING.md +12 -0
- data/bin/commands/admin_analytics.rb +0 -0
- data/bin/commands/admin_analytics_messages.rb +2 -2
- data/bin/commands/admin_apps.rb +0 -0
- data/bin/commands/admin_apps_activities.rb +0 -0
- data/bin/commands/admin_apps_approved.rb +0 -0
- data/bin/commands/admin_apps_config.rb +0 -0
- data/bin/commands/admin_apps_mcp_servers.rb +21 -0
- data/bin/commands/admin_apps_mcp_servers_permissions.rb +33 -0
- data/bin/commands/admin_apps_permissions.rb +58 -0
- data/bin/commands/admin_apps_requests.rb +0 -0
- data/bin/commands/admin_apps_restricted.rb +0 -0
- data/bin/commands/admin_audit_anomaly_allow.rb +0 -0
- data/bin/commands/admin_auth_policy.rb +0 -0
- data/bin/commands/admin_barriers.rb +0 -0
- data/bin/commands/admin_conversations.rb +12 -2
- data/bin/commands/admin_conversations_ekm.rb +0 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +0 -0
- data/bin/commands/admin_emoji.rb +0 -0
- data/bin/commands/admin_functions.rb +1 -1
- data/bin/commands/admin_functions_permissions.rb +0 -0
- data/bin/commands/admin_inviteRequests.rb +0 -0
- data/bin/commands/admin_inviteRequests_approved.rb +0 -0
- data/bin/commands/admin_inviteRequests_denied.rb +0 -0
- data/bin/commands/admin_roles.rb +0 -0
- data/bin/commands/admin_teams.rb +0 -0
- data/bin/commands/admin_teams_admins.rb +0 -0
- data/bin/commands/admin_teams_owners.rb +0 -0
- data/bin/commands/admin_teams_settings.rb +0 -0
- data/bin/commands/admin_usergroups.rb +74 -0
- data/bin/commands/admin_users.rb +0 -0
- data/bin/commands/admin_users_session.rb +0 -1
- data/bin/commands/admin_users_unsupportedVersions.rb +0 -0
- data/bin/commands/admin_workflows.rb +0 -0
- data/bin/commands/admin_workflows_collaborators.rb +0 -0
- data/bin/commands/admin_workflows_permissions.rb +0 -0
- data/bin/commands/admin_workflows_triggers_types_permissions.rb +0 -0
- data/bin/commands/agents_sessions.rb +38 -0
- data/bin/commands/api.rb +0 -0
- data/bin/commands/apps.rb +0 -0
- data/bin/commands/apps_activities.rb +0 -0
- data/bin/commands/apps_auth_external.rb +0 -0
- data/bin/commands/apps_connections.rb +0 -0
- data/bin/commands/apps_datastore.rb +0 -0
- data/bin/commands/apps_event_authorizations.rb +0 -0
- data/bin/commands/apps_icon.rb +0 -0
- data/bin/commands/apps_managed_permissions.rb +21 -0
- data/bin/commands/apps_manifest.rb +0 -0
- data/bin/commands/apps_user_connection.rb +0 -0
- data/bin/commands/assistant_search.rb +0 -0
- data/bin/commands/assistant_threads.rb +1 -1
- data/bin/commands/auth.rb +0 -0
- data/bin/commands/auth_teams.rb +0 -0
- data/bin/commands/blocks.rb +0 -0
- data/bin/commands/bookmarks.rb +0 -0
- data/bin/commands/bots.rb +0 -0
- data/bin/commands/calls.rb +0 -0
- data/bin/commands/calls_participants.rb +0 -0
- data/bin/commands/canvases.rb +12 -2
- data/bin/commands/canvases_access.rb +0 -0
- data/bin/commands/canvases_sections.rb +0 -0
- data/bin/commands/chat.rb +9 -6
- data/bin/commands/chat_scheduledMessages.rb +0 -0
- data/bin/commands/conversations.rb +1 -1
- data/bin/commands/conversations_canvases.rb +1 -1
- data/bin/commands/conversations_externalInvitePermissions.rb +0 -0
- data/bin/commands/conversations_requestSharedInvite.rb +0 -0
- data/bin/commands/dialog.rb +0 -0
- data/bin/commands/dnd.rb +0 -0
- data/bin/commands/emoji.rb +0 -0
- data/bin/commands/entity.rb +27 -0
- data/bin/commands/files.rb +3 -0
- data/bin/commands/files_comments.rb +0 -0
- data/bin/commands/files_remote.rb +0 -0
- data/bin/commands/functions.rb +0 -0
- data/bin/commands/functions_distributions_permissions.rb +0 -0
- data/bin/commands/functions_workflows_steps.rb +0 -0
- data/bin/commands/functions_workflows_steps_responses.rb +0 -0
- data/bin/commands/migration.rb +0 -0
- data/bin/commands/oauth.rb +0 -0
- data/bin/commands/oauth_v2.rb +21 -0
- data/bin/commands/oauth_v2_user.rb +0 -0
- data/bin/commands/openid_connect.rb +0 -0
- data/bin/commands/pins.rb +0 -0
- data/bin/commands/reactions.rb +0 -0
- data/bin/commands/reminders.rb +0 -0
- data/bin/commands/rtm.rb +0 -0
- data/bin/commands/search.rb +0 -0
- data/bin/commands/slackLists.rb +0 -0
- data/bin/commands/slackLists_access.rb +0 -0
- data/bin/commands/slackLists_download.rb +6 -0
- data/bin/commands/slackLists_items.rb +1 -0
- data/bin/commands/stars.rb +0 -0
- data/bin/commands/team.rb +0 -0
- data/bin/commands/team_billing.rb +0 -0
- data/bin/commands/team_externalTeams.rb +0 -0
- data/bin/commands/team_preferences.rb +0 -0
- data/bin/commands/team_profile.rb +0 -0
- data/bin/commands/tooling_tokens.rb +0 -0
- data/bin/commands/usergroups.rb +0 -0
- data/bin/commands/usergroups_users.rb +0 -0
- data/bin/commands/users.rb +1 -0
- data/bin/commands/users_admin.rb +0 -0
- data/bin/commands/users_discoverableContacts.rb +0 -0
- data/bin/commands/users_prefs.rb +0 -0
- data/bin/commands/users_profile.rb +0 -0
- data/bin/commands/views.rb +0 -0
- data/bin/commands/workflows_featured.rb +0 -0
- data/bin/commands/workflows_triggers_permissions.rb +0 -0
- data/bin/slack +5 -1
- data/examples/files_upload_v2/.env.example +0 -0
- data/examples/files_upload_v2/Gemfile +0 -0
- data/examples/files_upload_v2/README.md +0 -0
- data/examples/files_upload_v2/files_upload_v2.rb +1 -1
- data/examples/hi_web/Gemfile +0 -0
- data/examples/hi_web/hi.gif +0 -0
- data/examples/hi_web/hi.rb +1 -1
- data/examples/new_ticket/Gemfile +0 -0
- data/examples/new_ticket/new_ticket.rb +1 -1
- data/examples/oauth_v2/.env.example +0 -0
- data/examples/oauth_v2/Gemfile +0 -0
- data/examples/oauth_v2/README.md +0 -0
- data/examples/oauth_v2/oauth_v2.rb +6 -6
- data/lib/slack/config.rb +0 -0
- data/lib/slack/events/config.rb +1 -1
- data/lib/slack/events/request.rb +2 -2
- data/lib/slack/logger.rb +0 -0
- data/lib/slack/messages/formatting.rb +0 -0
- data/lib/slack/messages/message.rb +0 -0
- data/lib/slack/utils/security.rb +0 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_analytics_messages.rb +2 -2
- data/lib/slack/web/api/endpoints/admin_apps.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_apps_activities.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_apps_config.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_apps_mcp_servers.rb +31 -0
- data/lib/slack/web/api/endpoints/admin_apps_mcp_servers_permissions.rb +46 -0
- data/lib/slack/web/api/endpoints/admin_apps_permissions.rb +83 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +16 -1
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +0 -1
- data/lib/slack/web/api/endpoints/admin_functions.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_roles.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +111 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +1 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +0 -2
- data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_workflows.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +0 -0
- data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +0 -0
- data/lib/slack/web/api/endpoints/agents_sessions.rb +54 -0
- data/lib/slack/web/api/endpoints/api.rb +0 -0
- data/lib/slack/web/api/endpoints/apps.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_activities.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_auth_external.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_datastore.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_icon.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_managed_permissions.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +0 -0
- data/lib/slack/web/api/endpoints/apps_user_connection.rb +0 -0
- data/lib/slack/web/api/endpoints/assistant_search.rb +0 -0
- data/lib/slack/web/api/endpoints/assistant_threads.rb +1 -1
- data/lib/slack/web/api/endpoints/auth.rb +0 -0
- data/lib/slack/web/api/endpoints/auth_teams.rb +0 -0
- data/lib/slack/web/api/endpoints/blocks.rb +0 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +0 -0
- data/lib/slack/web/api/endpoints/bots.rb +0 -0
- data/lib/slack/web/api/endpoints/calls.rb +0 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +0 -0
- data/lib/slack/web/api/endpoints/canvases.rb +16 -2
- data/lib/slack/web/api/endpoints/canvases_access.rb +0 -0
- data/lib/slack/web/api/endpoints/canvases_sections.rb +0 -0
- data/lib/slack/web/api/endpoints/chat.rb +13 -9
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +0 -0
- data/lib/slack/web/api/endpoints/conversations.rb +1 -1
- data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
- data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +0 -0
- data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +0 -0
- data/lib/slack/web/api/endpoints/dialog.rb +0 -0
- data/lib/slack/web/api/endpoints/dnd.rb +0 -0
- data/lib/slack/web/api/endpoints/emoji.rb +0 -0
- data/lib/slack/web/api/endpoints/entity.rb +48 -0
- data/lib/slack/web/api/endpoints/files.rb +7 -0
- data/lib/slack/web/api/endpoints/files_comments.rb +0 -0
- data/lib/slack/web/api/endpoints/files_remote.rb +0 -0
- data/lib/slack/web/api/endpoints/functions.rb +0 -0
- data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +0 -0
- data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +0 -0
- data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +0 -0
- data/lib/slack/web/api/endpoints/migration.rb +0 -0
- data/lib/slack/web/api/endpoints/oauth.rb +0 -0
- data/lib/slack/web/api/endpoints/oauth_v2.rb +33 -0
- data/lib/slack/web/api/endpoints/oauth_v2_user.rb +0 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +0 -0
- data/lib/slack/web/api/endpoints/pins.rb +0 -0
- data/lib/slack/web/api/endpoints/reactions.rb +0 -0
- data/lib/slack/web/api/endpoints/reminders.rb +0 -0
- data/lib/slack/web/api/endpoints/rtm.rb +0 -0
- data/lib/slack/web/api/endpoints/search.rb +0 -0
- data/lib/slack/web/api/endpoints/slackLists.rb +0 -0
- data/lib/slack/web/api/endpoints/slackLists_access.rb +0 -0
- data/lib/slack/web/api/endpoints/slackLists_download.rb +12 -0
- data/lib/slack/web/api/endpoints/slackLists_items.rb +2 -0
- data/lib/slack/web/api/endpoints/stars.rb +0 -0
- data/lib/slack/web/api/endpoints/team.rb +0 -0
- data/lib/slack/web/api/endpoints/team_billing.rb +0 -0
- data/lib/slack/web/api/endpoints/team_externalTeams.rb +0 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +0 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +0 -0
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +0 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +0 -0
- data/lib/slack/web/api/endpoints/usergroups_users.rb +0 -0
- data/lib/slack/web/api/endpoints/users.rb +2 -1
- data/lib/slack/web/api/endpoints/users_admin.rb +0 -0
- data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +0 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +0 -0
- data/lib/slack/web/api/endpoints/views.rb +0 -0
- data/lib/slack/web/api/endpoints/workflows_featured.rb +0 -0
- data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +0 -0
- data/lib/slack/web/api/endpoints.rb +10 -0
- data/lib/slack/web/api/error.rb +0 -0
- data/lib/slack/web/api/errors/server_error.rb +1 -1
- data/lib/slack/web/api/errors/slack_error.rb +1 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -1
- data/lib/slack/web/api/errors.rb +126 -8
- data/lib/slack/web/api/helpers/files.rb +2 -2
- data/lib/slack/web/api/helpers.rb +0 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +2 -1
- data/lib/slack/web/api/mixins/ids.id.rb +0 -0
- data/lib/slack/web/api/mixins/users.id.json +0 -0
- data/lib/slack/web/api/mixins/users.id.rb +2 -1
- data/lib/slack/web/api/mixins/users.search.json +0 -0
- data/lib/slack/web/api/mixins/users.search.rb +1 -1
- data/lib/slack/web/api/mixins.rb +0 -0
- data/lib/slack/web/api/options.rb +0 -0
- data/lib/slack/web/api/patches/.gitkeep +0 -0
- data/lib/slack/web/api/patches/files.default-filename.patch +12 -0
- data/lib/slack/web/api/schema/group.json +0 -0
- data/lib/slack/web/api/schema/method.json +0 -0
- data/lib/slack/web/api/templates/command.erb +0 -0
- data/lib/slack/web/api/templates/endpoints.erb +0 -0
- data/lib/slack/web/api/templates/errors.erb +0 -0
- data/lib/slack/web/api/templates/method.erb +0 -0
- data/lib/slack/web/api/templates/method_spec.erb +0 -0
- data/lib/slack/web/client.rb +29 -0
- data/lib/slack/web/config.rb +0 -0
- data/lib/slack/web/faraday/connection.rb +0 -0
- data/lib/slack/web/faraday/options.rb +0 -0
- data/lib/slack/web/faraday/request.rb +22 -2
- data/lib/slack/web/faraday/response/raise_error.rb +0 -0
- data/lib/slack/web/faraday/response/wrap_error.rb +0 -0
- data/lib/slack/web/pagination/cursor.rb +0 -0
- data/lib/slack-ruby-client.rb +0 -0
- data/lib/slack.rb +0 -0
- data/lib/slack_ruby_client.rb +0 -0
- data/lib/tasks/git.rake +0 -0
- data/lib/tasks/update.rake +0 -0
- data/lib/tasks/web.rake +0 -0
- data/slack-ruby-client.gemspec +0 -1
- data/slack.png +0 -0
- 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, "
|
|
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, '
|
|
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, '
|
|
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, '
|
|
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, '
|
|
17
|
+
raise ArgumentError, 'required arguments :user missing' if query.nil?
|
|
18
18
|
|
|
19
19
|
index = Picky::Index.new(:users) do
|
|
20
20
|
category :name
|
data/lib/slack/web/api/mixins.rb
CHANGED
|
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
|
data/lib/slack/web/client.rb
CHANGED
|
@@ -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
|
data/lib/slack/web/config.rb
CHANGED
|
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 =
|
|
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
|
-
|
|
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
|
data/lib/slack-ruby-client.rb
CHANGED
|
File without changes
|
data/lib/slack.rb
CHANGED
|
File without changes
|
data/lib/slack_ruby_client.rb
CHANGED
|
File without changes
|
data/lib/tasks/git.rake
CHANGED
|
File without changes
|
data/lib/tasks/update.rake
CHANGED
|
File without changes
|
data/lib/tasks/web.rake
CHANGED
|
File without changes
|
data/slack-ruby-client.gemspec
CHANGED
|
@@ -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.
|
|
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:
|
|
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.
|
|
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: []
|