slack-ruby-client 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/integration_test.yml +1 -1
  4. data/.github/workflows/lint.yml +1 -1
  5. data/.github/workflows/pr_lint.yml +1 -1
  6. data/.github/workflows/test.yml +1 -1
  7. data/.github/workflows/update_api.yml +8 -3
  8. data/CHANGELOG.md +7 -0
  9. data/README.md +2 -2
  10. data/bin/commands/admin_apps_activities.rb +4 -4
  11. data/bin/commands/admin_apps_config.rb +2 -2
  12. data/bin/commands/admin_conversations.rb +2 -1
  13. data/bin/commands/admin_users.rb +2 -0
  14. data/bin/commands/chat.rb +9 -9
  15. data/bin/commands/conversations.rb +2 -1
  16. data/bin/commands/functions.rb +31 -0
  17. data/bin/commands/pins.rb +0 -1
  18. data/bin/commands/team.rb +2 -2
  19. data/bin/commands/usergroups.rb +10 -10
  20. data/bin/commands/usergroups_users.rb +8 -8
  21. data/lib/slack/events/request.rb +4 -2
  22. data/lib/slack/version.rb +1 -1
  23. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +5 -5
  24. data/lib/slack/web/api/endpoints/admin_apps_config.rb +3 -3
  25. data/lib/slack/web/api/endpoints/admin_conversations.rb +3 -1
  26. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +1 -1
  27. data/lib/slack/web/api/endpoints/admin_users.rb +4 -0
  28. data/lib/slack/web/api/endpoints/admin_workflows.rb +3 -3
  29. data/lib/slack/web/api/endpoints/apps_activities.rb +1 -1
  30. data/lib/slack/web/api/endpoints/chat.rb +21 -21
  31. data/lib/slack/web/api/endpoints/conversations.rb +3 -1
  32. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  33. data/lib/slack/web/api/endpoints/openid_connect.rb +1 -1
  34. data/lib/slack/web/api/endpoints/pins.rb +0 -2
  35. data/lib/slack/web/api/endpoints/search.rb +3 -3
  36. data/lib/slack/web/api/endpoints/team.rb +3 -3
  37. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  38. data/lib/slack/web/api/endpoints/usergroups.rb +5 -5
  39. data/lib/slack/web/api/endpoints/usergroups_users.rb +6 -6
  40. data/lib/slack/web/api/endpoints/users.rb +1 -1
  41. data/lib/slack/web/api/endpoints.rb +2 -0
  42. data/lib/slack/web/api/errors.rb +14 -0
  43. data/lib/slack/web/api/patches/.gitkeep +0 -0
  44. data/spec/slack/events/request_spec.rb +11 -0
  45. data/spec/slack/web/api/endpoints/chat_spec.rb +76 -4
  46. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +2 -9
  47. data/spec/slack/web/api/endpoints/functions_spec.rb +28 -0
  48. metadata +7 -3
  49. data/lib/slack/web/api/patches/chat.attachments-blocks.patch +0 -21
@@ -33,7 +33,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
33
33
 
34
34
  context 'text and user arguments' do
35
35
  it 'requires text or attachments' do
36
- expect { client.chat_postEphemeral(channel: 'channel') }.to(
36
+ expect { client.chat_postEphemeral(channel: 'channel', user: '123') }.to(
37
37
  raise_error(ArgumentError, /At least one of :attachments, :blocks, :text is required/)
38
38
  )
39
39
  end
@@ -167,7 +167,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
167
167
  context 'text, attachment and blocks arguments' do
168
168
  it 'requires text, attachments, blocks or reply_broadcast' do
169
169
  expect { client.chat_update(channel: 'channel', ts: ts) }.to(
170
- raise_error(ArgumentError, /At least one of :attachments, :blocks, :text, :reply_broadcast is required/)
170
+ raise_error(ArgumentError, /At least one of :attachments, :blocks, :text is required/)
171
171
  )
172
172
  end
173
173
 
@@ -192,13 +192,6 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
192
192
  end.not_to raise_error
193
193
  end
194
194
 
195
- it 'only reply_broadcast' do
196
- expect(client).to receive(:post).with('chat.update', hash_including(reply_broadcast: true))
197
- expect do
198
- client.chat_update(channel: 'channel', ts: ts, reply_broadcast: true)
199
- end.not_to raise_error
200
- end
201
-
202
195
  it 'all text, attachments and blocks' do
203
196
  expect(client).to(
204
197
  receive(:post)
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ require 'spec_helper'
5
+
6
+ RSpec.describe Slack::Web::Api::Endpoints::Functions do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'functions_completeError' do
9
+ it 'requires error' do
10
+ expect { client.functions_completeError(function_execution_id: %q[Fx12345ABCDE]) }.to raise_error ArgumentError, /Required arguments :error missing/
11
+ end
12
+ it 'requires function_execution_id' do
13
+ expect { client.functions_completeError(error: %q[]) }.to raise_error ArgumentError, /Required arguments :function_execution_id missing/
14
+ end
15
+ end
16
+ context 'functions_completeSuccess' do
17
+ it 'requires function_execution_id' do
18
+ expect { client.functions_completeSuccess(outputs: %q[{"customer_id": "U0BPQUNTA"}]) }.to raise_error ArgumentError, /Required arguments :function_execution_id missing/
19
+ end
20
+ it 'requires outputs' do
21
+ expect { client.functions_completeSuccess(function_execution_id: %q[Fx12345ABCDE]) }.to raise_error ArgumentError, /Required arguments :outputs missing/
22
+ end
23
+ it 'encodes outputs as json' do
24
+ expect(client).to receive(:post).with('functions.completeSuccess', {function_execution_id: %q[Fx12345ABCDE], outputs: %q[{"data":["data"]}]})
25
+ client.functions_completeSuccess(function_execution_id: %q[Fx12345ABCDE], outputs: {:data=>["data"]})
26
+ end
27
+ end
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.2.0
4
+ version: 2.3.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: 2023-09-17 00:00:00.000000000 Z
11
+ date: 2024-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -89,6 +89,7 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - ".coveralls.yml"
91
91
  - ".github/FUNDING.yml"
92
+ - ".github/dependabot.yml"
92
93
  - ".github/workflows/integration_test.yml"
93
94
  - ".github/workflows/lint.yml"
94
95
  - ".github/workflows/pr_lint.yml"
@@ -165,6 +166,7 @@ files:
165
166
  - bin/commands/files.rb
166
167
  - bin/commands/files_comments.rb
167
168
  - bin/commands/files_remote.rb
169
+ - bin/commands/functions.rb
168
170
  - bin/commands/functions_workflows_steps.rb
169
171
  - bin/commands/functions_workflows_steps_responses.rb
170
172
  - bin/commands/migration.rb
@@ -289,6 +291,7 @@ files:
289
291
  - lib/slack/web/api/endpoints/files.rb
290
292
  - lib/slack/web/api/endpoints/files_comments.rb
291
293
  - lib/slack/web/api/endpoints/files_remote.rb
294
+ - lib/slack/web/api/endpoints/functions.rb
292
295
  - lib/slack/web/api/endpoints/functions_workflows_steps.rb
293
296
  - lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb
294
297
  - lib/slack/web/api/endpoints/migration.rb
@@ -327,7 +330,7 @@ files:
327
330
  - lib/slack/web/api/mixins/users.search.json
328
331
  - lib/slack/web/api/mixins/users.search.rb
329
332
  - lib/slack/web/api/options.rb
330
- - lib/slack/web/api/patches/chat.attachments-blocks.patch
333
+ - lib/slack/web/api/patches/.gitkeep
331
334
  - lib/slack/web/api/schema/group.json
332
335
  - lib/slack/web/api/schema/method.json
333
336
  - lib/slack/web/api/templates/command.erb
@@ -446,6 +449,7 @@ files:
446
449
  - spec/slack/web/api/endpoints/files_comments_spec.rb
447
450
  - spec/slack/web/api/endpoints/files_remote_spec.rb
448
451
  - spec/slack/web/api/endpoints/files_spec.rb
452
+ - spec/slack/web/api/endpoints/functions_spec.rb
449
453
  - spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb
450
454
  - spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb
451
455
  - spec/slack/web/api/endpoints/migration_spec.rb
@@ -1,21 +0,0 @@
1
- diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
2
- index b49065a..bf202f1 100644
3
- --- a/lib/slack/web/api/endpoints/chat.rb
4
- +++ b/lib/slack/web/api/endpoints/chat.rb
5
- @@ -122,7 +122,7 @@ module Slack
6
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.postEphemeral.json
7
- def chat_postEphemeral(options = {})
8
- raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
9
- - raise ArgumentError, 'Required arguments :text missing' if options[:text].nil?
10
- + raise ArgumentError, 'At least one of :attachments, :blocks, :text is required' if options[:attachments].nil? && options[:blocks].nil? && options[:text].nil?
11
- raise ArgumentError, 'Required arguments :user missing' if options[:user].nil?
12
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
13
- options = encode_options_as_json(options, %i[attachments blocks])
14
- @@ -274,6 +274,7 @@ module Slack
15
- def chat_update(options = {})
16
- raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
17
- raise ArgumentError, 'Required arguments :ts missing' if options[:ts].nil?
18
- + raise ArgumentError, 'At least one of :attachments, :blocks, :text, :reply_broadcast is required' if options[:attachments].nil? && options[:blocks].nil? && options[:text].nil? && options[:reply_broadcast].nil?
19
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
20
- options = encode_options_as_json(options, %i[attachments blocks metadata])
21
- post('chat.update', options)