slack-ruby-client 2.2.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/integration_test.yml +1 -1
- data/.github/workflows/lint.yml +1 -1
- data/.github/workflows/pr_lint.yml +1 -1
- data/.github/workflows/test.yml +23 -13
- data/.github/workflows/update_api.yml +8 -3
- data/.gitignore +1 -0
- data/CHANGELOG.md +14 -0
- data/README.md +27 -2
- data/bin/commands/admin_apps_activities.rb +4 -4
- data/bin/commands/admin_apps_config.rb +2 -2
- data/bin/commands/admin_conversations.rb +2 -1
- data/bin/commands/admin_emoji.rb +1 -1
- data/bin/commands/admin_users.rb +6 -4
- data/bin/commands/admin_workflows.rb +4 -2
- data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
- data/bin/commands/apps_datastore.rb +46 -0
- data/bin/commands/canvases.rb +40 -0
- data/bin/commands/canvases_access.rb +34 -0
- data/bin/commands/canvases_sections.rb +21 -0
- data/bin/commands/chat.rb +9 -9
- data/bin/commands/conversations.rb +3 -2
- data/bin/commands/conversations_canvases.rb +21 -0
- data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
- data/bin/commands/functions.rb +31 -0
- data/bin/commands/functions_distributions_permissions.rb +59 -0
- data/bin/commands/oauth.rb +2 -2
- data/bin/commands/oauth_v2.rb +2 -2
- data/bin/commands/pins.rb +0 -1
- data/bin/commands/reminders.rb +1 -1
- data/bin/commands/team.rb +2 -2
- data/bin/commands/team_externalTeams.rb +35 -0
- data/bin/commands/usergroups.rb +10 -10
- data/bin/commands/usergroups_users.rb +8 -8
- data/bin/commands/users_discoverableContacts.rb +20 -0
- data/bin/commands/workflows_triggers_permissions.rb +60 -0
- data/lib/slack/events/request.rb +4 -2
- data/lib/slack/messages/formatting.rb +13 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_apps_activities.rb +5 -5
- data/lib/slack/web/api/endpoints/admin_apps_config.rb +3 -3
- data/lib/slack/web/api/endpoints/admin_conversations.rb +3 -1
- data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +1 -1
- data/lib/slack/web/api/endpoints/admin_users.rb +6 -2
- data/lib/slack/web/api/endpoints/admin_workflows.rb +9 -5
- data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
- data/lib/slack/web/api/endpoints/apps_activities.rb +1 -1
- data/lib/slack/web/api/endpoints/apps_datastore.rb +71 -0
- data/lib/slack/web/api/endpoints/canvases.rb +52 -0
- data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
- data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
- data/lib/slack/web/api/endpoints/chat.rb +21 -21
- data/lib/slack/web/api/endpoints/conversations.rb +4 -2
- data/lib/slack/web/api/endpoints/conversations_canvases.rb +26 -0
- data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
- data/lib/slack/web/api/endpoints/dnd.rb +1 -0
- data/lib/slack/web/api/endpoints/functions.rb +43 -0
- data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +80 -0
- data/lib/slack/web/api/endpoints/oauth.rb +2 -2
- data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
- data/lib/slack/web/api/endpoints/openid_connect.rb +1 -1
- data/lib/slack/web/api/endpoints/pins.rb +0 -2
- data/lib/slack/web/api/endpoints/reminders.rb +1 -1
- data/lib/slack/web/api/endpoints/search.rb +3 -3
- data/lib/slack/web/api/endpoints/team.rb +3 -3
- data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +5 -5
- data/lib/slack/web/api/endpoints/usergroups_users.rb +6 -6
- data/lib/slack/web/api/endpoints/users.rb +1 -1
- data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
- data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
- data/lib/slack/web/api/endpoints.rb +22 -0
- data/lib/slack/web/api/errors.rb +84 -4
- data/lib/slack/web/api/patches/.gitkeep +0 -0
- data/lib/slack/web/api/templates/method.erb +1 -0
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/spec/slack/events/request_spec.rb +11 -0
- data/spec/slack/messages/formatting_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/apps_datastore_spec.rb +29 -0
- data/spec/slack/web/api/endpoints/canvases_access_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/canvases_sections_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/canvases_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/chat_spec.rb +76 -4
- data/spec/slack/web/api/endpoints/conversations_canvases_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/conversations_externalInvitePermissions_spec.rb +19 -0
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +2 -9
- data/spec/slack/web/api/endpoints/dnd_spec.rb +5 -0
- data/spec/slack/web/api/endpoints/functions_distributions_permissions_spec.rb +10 -0
- data/spec/slack/web/api/endpoints/functions_spec.rb +28 -0
- data/spec/slack/web/api/endpoints/team_externalTeams_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/users_discoverableContacts_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb +31 -0
- metadata +37 -3
- data/lib/slack/web/api/patches/chat.attachments-blocks.patch +0 -21
@@ -0,0 +1,21 @@
|
|
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::Canvases do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'canvases_delete' do
|
9
|
+
it 'requires canvas_id' do
|
10
|
+
expect { client.canvases_delete }.to raise_error ArgumentError, /Required arguments :canvas_id missing/
|
11
|
+
end
|
12
|
+
end
|
13
|
+
context 'canvases_edit' do
|
14
|
+
it 'requires canvas_id' do
|
15
|
+
expect { client.canvases_edit(changes: %q[[{"operation":"insert_before","document_content":{"type":"markdown","markdown":"Example content"},"section_id":"temp:C:AAAAAAAAAAAAAAAAAAAAAAAAAAAA"}]]) }.to raise_error ArgumentError, /Required arguments :canvas_id missing/
|
16
|
+
end
|
17
|
+
it 'requires changes' do
|
18
|
+
expect { client.canvases_edit(canvas_id: %q[F1234ABCD]) }.to raise_error ArgumentError, /Required arguments :changes missing/
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -6,9 +6,33 @@ require 'spec_helper'
|
|
6
6
|
RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
8
8
|
context 'chat_postEphemeral' do
|
9
|
+
it 'requires one of attachments, blocks, text' do
|
10
|
+
expect { client.chat_postEphemeral(channel: %q[C1234567890], user: %q[U0BPQUNTA]) }.to raise_error ArgumentError, /At least one of/
|
11
|
+
|
12
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
13
|
+
client.chat_postEphemeral(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
14
|
+
|
15
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
16
|
+
client.chat_postEphemeral(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
17
|
+
|
18
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
19
|
+
client.chat_postEphemeral(text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
20
|
+
|
21
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
22
|
+
client.chat_postEphemeral(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
23
|
+
|
24
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
25
|
+
client.chat_postEphemeral(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
26
|
+
|
27
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
28
|
+
client.chat_postEphemeral(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
29
|
+
|
30
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA]})
|
31
|
+
client.chat_postEphemeral(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], user: %q[U0BPQUNTA])
|
32
|
+
end
|
9
33
|
it 'encodes attachments, blocks as json' do
|
10
|
-
expect(client).to receive(:post).with('chat.postEphemeral', {channel: %q[C1234567890],
|
11
|
-
client.chat_postEphemeral(channel: %q[C1234567890],
|
34
|
+
expect(client).to receive(:post).with('chat.postEphemeral', {channel: %q[C1234567890], user: %q[U0BPQUNTA], attachments: %q[{"data":["data"]}], blocks: %q[{"data":["data"]}]})
|
35
|
+
client.chat_postEphemeral(channel: %q[C1234567890], user: %q[U0BPQUNTA], attachments: {:data=>["data"]}, blocks: {:data=>["data"]})
|
12
36
|
end
|
13
37
|
end
|
14
38
|
context 'chat_postMessage' do
|
@@ -42,9 +66,33 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
42
66
|
end
|
43
67
|
end
|
44
68
|
context 'chat_scheduleMessage' do
|
69
|
+
it 'requires one of attachments, blocks, text' do
|
70
|
+
expect { client.chat_scheduleMessage(channel: %q[C1234567890], post_at: %q[299876400]) }.to raise_error ArgumentError, /At least one of/
|
71
|
+
|
72
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], post_at: %q[299876400]})
|
73
|
+
client.chat_scheduleMessage(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], post_at: %q[299876400])
|
74
|
+
|
75
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], post_at: %q[299876400]})
|
76
|
+
client.chat_scheduleMessage(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], post_at: %q[299876400])
|
77
|
+
|
78
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400]})
|
79
|
+
client.chat_scheduleMessage(text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400])
|
80
|
+
|
81
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], post_at: %q[299876400]})
|
82
|
+
client.chat_scheduleMessage(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], post_at: %q[299876400])
|
83
|
+
|
84
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400]})
|
85
|
+
client.chat_scheduleMessage(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400])
|
86
|
+
|
87
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400]})
|
88
|
+
client.chat_scheduleMessage(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400])
|
89
|
+
|
90
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400]})
|
91
|
+
client.chat_scheduleMessage(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], post_at: %q[299876400])
|
92
|
+
end
|
45
93
|
it 'encodes attachments, blocks, metadata as json' do
|
46
|
-
expect(client).to receive(:post).with('chat.scheduleMessage', {channel: %q[C1234567890], post_at: %q[299876400],
|
47
|
-
client.chat_scheduleMessage(channel: %q[C1234567890], post_at: %q[299876400],
|
94
|
+
expect(client).to receive(:post).with('chat.scheduleMessage', {channel: %q[C1234567890], post_at: %q[299876400], attachments: %q[{"data":["data"]}], blocks: %q[{"data":["data"]}], metadata: %q[{"data":["data"]}]})
|
95
|
+
client.chat_scheduleMessage(channel: %q[C1234567890], post_at: %q[299876400], attachments: {:data=>["data"]}, blocks: {:data=>["data"]}, metadata: {:data=>["data"]})
|
48
96
|
end
|
49
97
|
end
|
50
98
|
context 'chat_unfurl' do
|
@@ -54,6 +102,30 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
54
102
|
end
|
55
103
|
end
|
56
104
|
context 'chat_update' do
|
105
|
+
it 'requires one of attachments, blocks, text' do
|
106
|
+
expect { client.chat_update(channel: %q[C1234567890], ts: %q["1405894322.002768"]) }.to raise_error ArgumentError, /At least one of/
|
107
|
+
|
108
|
+
expect(client).to receive(:post).with('chat.update', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
109
|
+
client.chat_update(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
110
|
+
|
111
|
+
expect(client).to receive(:post).with('chat.update', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
112
|
+
client.chat_update(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
113
|
+
|
114
|
+
expect(client).to receive(:post).with('chat.update', {text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
115
|
+
client.chat_update(text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
116
|
+
|
117
|
+
expect(client).to receive(:post).with('chat.update', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
118
|
+
client.chat_update(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
119
|
+
|
120
|
+
expect(client).to receive(:post).with('chat.update', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
121
|
+
client.chat_update(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
122
|
+
|
123
|
+
expect(client).to receive(:post).with('chat.update', {blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
124
|
+
client.chat_update(blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
125
|
+
|
126
|
+
expect(client).to receive(:post).with('chat.update', {attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"]})
|
127
|
+
client.chat_update(attachments: %q[[{"pretext": "pre-hello", "text": "text-world"}]], blocks: %q[[{"type": "section", "text": {"type": "plain_text", "text": "Hello world"}}]], text: %q[Hello world], channel: %q[C1234567890], ts: %q["1405894322.002768"])
|
128
|
+
end
|
57
129
|
it 'encodes attachments, blocks, metadata as json' do
|
58
130
|
expect(client).to receive(:post).with('chat.update', {channel: %q[C1234567890], ts: %q["1405894322.002768"], attachments: %q[{"data":["data"]}], blocks: %q[{"data":["data"]}], metadata: %q[{"data":["data"]}]})
|
59
131
|
client.chat_update(channel: %q[C1234567890], ts: %q["1405894322.002768"], attachments: {:data=>["data"]}, blocks: {:data=>["data"]}, metadata: {:data=>["data"]})
|
@@ -0,0 +1,13 @@
|
|
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::ConversationsCanvases do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'conversations.canvases_create' do
|
9
|
+
it 'requires channel_id' do
|
10
|
+
expect { client.conversations_canvases_create }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,19 @@
|
|
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::ConversationsExternalinvitepermissions do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'conversations.externalInvitePermissions_set' do
|
9
|
+
it 'requires action' do
|
10
|
+
expect { client.conversations_externalInvitePermissions_set(channel: %q[C123456], target_team: %q[T726G27TT]) }.to raise_error ArgumentError, /Required arguments :action missing/
|
11
|
+
end
|
12
|
+
it 'requires channel' do
|
13
|
+
expect { client.conversations_externalInvitePermissions_set(action: %q[upgrade], target_team: %q[T726G27TT]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
14
|
+
end
|
15
|
+
it 'requires target_team' do
|
16
|
+
expect { client.conversations_externalInvitePermissions_set(action: %q[upgrade], channel: %q[C123456]) }.to raise_error ArgumentError, /Required arguments :target_team missing/
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -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
|
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)
|
@@ -5,6 +5,11 @@ require 'spec_helper'
|
|
5
5
|
|
6
6
|
RSpec.describe Slack::Web::Api::Endpoints::Dnd do
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'dnd_setSnooze' do
|
9
|
+
it 'requires num_minutes' do
|
10
|
+
expect { client.dnd_setSnooze }.to raise_error ArgumentError, /Required arguments :num_minutes missing/
|
11
|
+
end
|
12
|
+
end
|
8
13
|
context 'dnd_teamInfo' do
|
9
14
|
it 'requires users' do
|
10
15
|
expect { client.dnd_teamInfo }.to raise_error ArgumentError, /Required arguments :users missing/
|
@@ -0,0 +1,10 @@
|
|
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::FunctionsDistributionsPermissions do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'functions.distributions.permissions_set' do
|
9
|
+
end
|
10
|
+
end
|
@@ -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
|
@@ -0,0 +1,13 @@
|
|
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::TeamExternalteams do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'team.externalTeams_disconnect' do
|
9
|
+
it 'requires target_team' do
|
10
|
+
expect { client.team_externalTeams_disconnect }.to raise_error ArgumentError, /Required arguments :target_team missing/
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
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::UsersDiscoverablecontacts do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'users.discoverableContacts_lookup' do
|
9
|
+
it 'requires email' do
|
10
|
+
expect { client.users_discoverableContacts_lookup }.to raise_error ArgumentError, /Required arguments :email missing/
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,31 @@
|
|
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::WorkflowsTriggersPermissions do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'workflows.triggers.permissions_add' do
|
9
|
+
it 'requires trigger_id' do
|
10
|
+
expect { client.workflows_triggers_permissions_add }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
11
|
+
end
|
12
|
+
end
|
13
|
+
context 'workflows.triggers.permissions_list' do
|
14
|
+
it 'requires trigger_id' do
|
15
|
+
expect { client.workflows_triggers_permissions_list }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
16
|
+
end
|
17
|
+
end
|
18
|
+
context 'workflows.triggers.permissions_remove' do
|
19
|
+
it 'requires trigger_id' do
|
20
|
+
expect { client.workflows_triggers_permissions_remove }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
21
|
+
end
|
22
|
+
end
|
23
|
+
context 'workflows.triggers.permissions_set' do
|
24
|
+
it 'requires permission_type' do
|
25
|
+
expect { client.workflows_triggers_permissions_set(trigger_id: %q[Ft0000000001]) }.to raise_error ArgumentError, /Required arguments :permission_type missing/
|
26
|
+
end
|
27
|
+
it 'requires trigger_id' do
|
28
|
+
expect { client.workflows_triggers_permissions_set(permission_type: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
29
|
+
end
|
30
|
+
end
|
31
|
+
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.
|
4
|
+
version: 2.4.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:
|
11
|
+
date: 2024-07-14 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"
|
@@ -142,6 +143,7 @@ files:
|
|
142
143
|
- bin/commands/admin_workflows.rb
|
143
144
|
- bin/commands/admin_workflows_collaborators.rb
|
144
145
|
- bin/commands/admin_workflows_permissions.rb
|
146
|
+
- bin/commands/admin_workflows_triggers_types_permissions.rb
|
145
147
|
- bin/commands/api.rb
|
146
148
|
- bin/commands/apps.rb
|
147
149
|
- bin/commands/apps_activities.rb
|
@@ -156,15 +158,22 @@ files:
|
|
156
158
|
- bin/commands/bots.rb
|
157
159
|
- bin/commands/calls.rb
|
158
160
|
- bin/commands/calls_participants.rb
|
161
|
+
- bin/commands/canvases.rb
|
162
|
+
- bin/commands/canvases_access.rb
|
163
|
+
- bin/commands/canvases_sections.rb
|
159
164
|
- bin/commands/chat.rb
|
160
165
|
- bin/commands/chat_scheduledMessages.rb
|
161
166
|
- bin/commands/conversations.rb
|
167
|
+
- bin/commands/conversations_canvases.rb
|
168
|
+
- bin/commands/conversations_externalInvitePermissions.rb
|
162
169
|
- bin/commands/dialog.rb
|
163
170
|
- bin/commands/dnd.rb
|
164
171
|
- bin/commands/emoji.rb
|
165
172
|
- bin/commands/files.rb
|
166
173
|
- bin/commands/files_comments.rb
|
167
174
|
- bin/commands/files_remote.rb
|
175
|
+
- bin/commands/functions.rb
|
176
|
+
- bin/commands/functions_distributions_permissions.rb
|
168
177
|
- bin/commands/functions_workflows_steps.rb
|
169
178
|
- bin/commands/functions_workflows_steps_responses.rb
|
170
179
|
- bin/commands/migration.rb
|
@@ -179,6 +188,7 @@ files:
|
|
179
188
|
- bin/commands/stars.rb
|
180
189
|
- bin/commands/team.rb
|
181
190
|
- bin/commands/team_billing.rb
|
191
|
+
- bin/commands/team_externalTeams.rb
|
182
192
|
- bin/commands/team_preferences.rb
|
183
193
|
- bin/commands/team_profile.rb
|
184
194
|
- bin/commands/tooling_tokens.rb
|
@@ -186,10 +196,12 @@ files:
|
|
186
196
|
- bin/commands/usergroups_users.rb
|
187
197
|
- bin/commands/users.rb
|
188
198
|
- bin/commands/users_admin.rb
|
199
|
+
- bin/commands/users_discoverableContacts.rb
|
189
200
|
- bin/commands/users_prefs.rb
|
190
201
|
- bin/commands/users_profile.rb
|
191
202
|
- bin/commands/views.rb
|
192
203
|
- bin/commands/workflows.rb
|
204
|
+
- bin/commands/workflows_triggers_permissions.rb
|
193
205
|
- bin/slack
|
194
206
|
- examples/hi_real_time_and_web/Gemfile
|
195
207
|
- examples/hi_real_time_and_web/hi.gif
|
@@ -266,6 +278,7 @@ files:
|
|
266
278
|
- lib/slack/web/api/endpoints/admin_workflows.rb
|
267
279
|
- lib/slack/web/api/endpoints/admin_workflows_collaborators.rb
|
268
280
|
- lib/slack/web/api/endpoints/admin_workflows_permissions.rb
|
281
|
+
- lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb
|
269
282
|
- lib/slack/web/api/endpoints/api.rb
|
270
283
|
- lib/slack/web/api/endpoints/apps.rb
|
271
284
|
- lib/slack/web/api/endpoints/apps_activities.rb
|
@@ -280,15 +293,22 @@ files:
|
|
280
293
|
- lib/slack/web/api/endpoints/bots.rb
|
281
294
|
- lib/slack/web/api/endpoints/calls.rb
|
282
295
|
- lib/slack/web/api/endpoints/calls_participants.rb
|
296
|
+
- lib/slack/web/api/endpoints/canvases.rb
|
297
|
+
- lib/slack/web/api/endpoints/canvases_access.rb
|
298
|
+
- lib/slack/web/api/endpoints/canvases_sections.rb
|
283
299
|
- lib/slack/web/api/endpoints/chat.rb
|
284
300
|
- lib/slack/web/api/endpoints/chat_scheduledMessages.rb
|
285
301
|
- lib/slack/web/api/endpoints/conversations.rb
|
302
|
+
- lib/slack/web/api/endpoints/conversations_canvases.rb
|
303
|
+
- lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb
|
286
304
|
- lib/slack/web/api/endpoints/dialog.rb
|
287
305
|
- lib/slack/web/api/endpoints/dnd.rb
|
288
306
|
- lib/slack/web/api/endpoints/emoji.rb
|
289
307
|
- lib/slack/web/api/endpoints/files.rb
|
290
308
|
- lib/slack/web/api/endpoints/files_comments.rb
|
291
309
|
- lib/slack/web/api/endpoints/files_remote.rb
|
310
|
+
- lib/slack/web/api/endpoints/functions.rb
|
311
|
+
- lib/slack/web/api/endpoints/functions_distributions_permissions.rb
|
292
312
|
- lib/slack/web/api/endpoints/functions_workflows_steps.rb
|
293
313
|
- lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb
|
294
314
|
- lib/slack/web/api/endpoints/migration.rb
|
@@ -303,6 +323,7 @@ files:
|
|
303
323
|
- lib/slack/web/api/endpoints/stars.rb
|
304
324
|
- lib/slack/web/api/endpoints/team.rb
|
305
325
|
- lib/slack/web/api/endpoints/team_billing.rb
|
326
|
+
- lib/slack/web/api/endpoints/team_externalTeams.rb
|
306
327
|
- lib/slack/web/api/endpoints/team_preferences.rb
|
307
328
|
- lib/slack/web/api/endpoints/team_profile.rb
|
308
329
|
- lib/slack/web/api/endpoints/tooling_tokens.rb
|
@@ -310,10 +331,12 @@ files:
|
|
310
331
|
- lib/slack/web/api/endpoints/usergroups_users.rb
|
311
332
|
- lib/slack/web/api/endpoints/users.rb
|
312
333
|
- lib/slack/web/api/endpoints/users_admin.rb
|
334
|
+
- lib/slack/web/api/endpoints/users_discoverableContacts.rb
|
313
335
|
- lib/slack/web/api/endpoints/users_prefs.rb
|
314
336
|
- lib/slack/web/api/endpoints/users_profile.rb
|
315
337
|
- lib/slack/web/api/endpoints/views.rb
|
316
338
|
- lib/slack/web/api/endpoints/workflows.rb
|
339
|
+
- lib/slack/web/api/endpoints/workflows_triggers_permissions.rb
|
317
340
|
- lib/slack/web/api/error.rb
|
318
341
|
- lib/slack/web/api/errors.rb
|
319
342
|
- lib/slack/web/api/errors/server_error.rb
|
@@ -327,7 +350,7 @@ files:
|
|
327
350
|
- lib/slack/web/api/mixins/users.search.json
|
328
351
|
- lib/slack/web/api/mixins/users.search.rb
|
329
352
|
- lib/slack/web/api/options.rb
|
330
|
-
- lib/slack/web/api/patches
|
353
|
+
- lib/slack/web/api/patches/.gitkeep
|
331
354
|
- lib/slack/web/api/schema/group.json
|
332
355
|
- lib/slack/web/api/schema/method.json
|
333
356
|
- lib/slack/web/api/templates/command.erb
|
@@ -417,6 +440,7 @@ files:
|
|
417
440
|
- spec/slack/web/api/endpoints/admin_workflows_collaborators_spec.rb
|
418
441
|
- spec/slack/web/api/endpoints/admin_workflows_permissions_spec.rb
|
419
442
|
- spec/slack/web/api/endpoints/admin_workflows_spec.rb
|
443
|
+
- spec/slack/web/api/endpoints/admin_workflows_triggers_types_permissions_spec.rb
|
420
444
|
- spec/slack/web/api/endpoints/api_spec.rb
|
421
445
|
- spec/slack/web/api/endpoints/apps_activities_spec.rb
|
422
446
|
- spec/slack/web/api/endpoints/apps_auth_external_spec.rb
|
@@ -431,8 +455,13 @@ files:
|
|
431
455
|
- spec/slack/web/api/endpoints/bots_spec.rb
|
432
456
|
- spec/slack/web/api/endpoints/calls_participants_spec.rb
|
433
457
|
- spec/slack/web/api/endpoints/calls_spec.rb
|
458
|
+
- spec/slack/web/api/endpoints/canvases_access_spec.rb
|
459
|
+
- spec/slack/web/api/endpoints/canvases_sections_spec.rb
|
460
|
+
- spec/slack/web/api/endpoints/canvases_spec.rb
|
434
461
|
- spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb
|
435
462
|
- spec/slack/web/api/endpoints/chat_spec.rb
|
463
|
+
- spec/slack/web/api/endpoints/conversations_canvases_spec.rb
|
464
|
+
- spec/slack/web/api/endpoints/conversations_externalInvitePermissions_spec.rb
|
436
465
|
- spec/slack/web/api/endpoints/conversations_spec.rb
|
437
466
|
- spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
|
438
467
|
- spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
|
@@ -446,6 +475,8 @@ files:
|
|
446
475
|
- spec/slack/web/api/endpoints/files_comments_spec.rb
|
447
476
|
- spec/slack/web/api/endpoints/files_remote_spec.rb
|
448
477
|
- spec/slack/web/api/endpoints/files_spec.rb
|
478
|
+
- spec/slack/web/api/endpoints/functions_distributions_permissions_spec.rb
|
479
|
+
- spec/slack/web/api/endpoints/functions_spec.rb
|
449
480
|
- spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb
|
450
481
|
- spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb
|
451
482
|
- spec/slack/web/api/endpoints/migration_spec.rb
|
@@ -459,6 +490,7 @@ files:
|
|
459
490
|
- spec/slack/web/api/endpoints/search_spec.rb
|
460
491
|
- spec/slack/web/api/endpoints/stars_spec.rb
|
461
492
|
- spec/slack/web/api/endpoints/team_billing_spec.rb
|
493
|
+
- spec/slack/web/api/endpoints/team_externalTeams_spec.rb
|
462
494
|
- spec/slack/web/api/endpoints/team_preferences_spec.rb
|
463
495
|
- spec/slack/web/api/endpoints/team_profile_spec.rb
|
464
496
|
- spec/slack/web/api/endpoints/team_spec.rb
|
@@ -466,11 +498,13 @@ files:
|
|
466
498
|
- spec/slack/web/api/endpoints/usergroups_spec.rb
|
467
499
|
- spec/slack/web/api/endpoints/usergroups_users_spec.rb
|
468
500
|
- spec/slack/web/api/endpoints/users_admin_spec.rb
|
501
|
+
- spec/slack/web/api/endpoints/users_discoverableContacts_spec.rb
|
469
502
|
- spec/slack/web/api/endpoints/users_prefs_spec.rb
|
470
503
|
- spec/slack/web/api/endpoints/users_profile_spec.rb
|
471
504
|
- spec/slack/web/api/endpoints/users_spec.rb
|
472
505
|
- spec/slack/web/api/endpoints/views_spec.rb
|
473
506
|
- spec/slack/web/api/endpoints/workflows_spec.rb
|
507
|
+
- spec/slack/web/api/endpoints/workflows_triggers_permissions_spec.rb
|
474
508
|
- spec/slack/web/api/error_spec.rb
|
475
509
|
- spec/slack/web/api/errors/slack_error_spec.rb
|
476
510
|
- spec/slack/web/api/mixins/conversations_list_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)
|