slack-ruby-client 0.11.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -0
- data/.rubocop_todo.yml +39 -47
- data/.travis.yml +2 -2
- data/CHANGELOG.md +13 -1
- data/Gemfile +0 -1
- data/README.md +5 -5
- data/RELEASING.md +1 -1
- data/bin/commands.rb +3 -0
- data/bin/commands/apps_permissions_resources.rb +14 -0
- data/bin/commands/apps_permissions_scopes.rb +12 -0
- data/bin/commands/apps_permissions_users.rb +25 -0
- data/bin/commands/chat.rb +3 -2
- data/bin/commands/conversations.rb +1 -0
- data/bin/commands/files.rb +4 -1
- data/bin/commands/groups.rb +2 -0
- data/bin/commands/mpim.rb +2 -0
- data/bin/commands/oauth.rb +3 -2
- data/bin/commands/reactions.rb +2 -0
- data/bin/commands/rtm.rb +4 -2
- data/bin/commands/search.rb +2 -2
- data/bin/commands/stars.rb +2 -0
- data/bin/commands/users.rb +16 -3
- data/bin/commands/users_profile.rb +1 -1
- data/examples/hi_real_time_async_celluloid/hi.rb +3 -4
- data/examples/hi_real_time_async_eventmachine/hi.rb +3 -4
- data/lib/slack/messages/formatting.rb +0 -1
- data/lib/slack/real_time/concurrency/celluloid.rb +3 -2
- data/lib/slack/real_time/stores/starter.rb +10 -0
- data/lib/slack/real_time/stores/store.rb +10 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +6 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +30 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +20 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +49 -0
- data/lib/slack/web/api/endpoints/chat.rb +5 -3
- data/lib/slack/web/api/endpoints/conversations.rb +2 -0
- data/lib/slack/web/api/endpoints/files.rb +14 -2
- data/lib/slack/web/api/endpoints/groups.rb +11 -1
- data/lib/slack/web/api/endpoints/mpim.rb +11 -1
- data/lib/slack/web/api/endpoints/oauth.rb +3 -1
- data/lib/slack/web/api/endpoints/reactions.rb +11 -1
- data/lib/slack/web/api/endpoints/rtm.rb +5 -1
- data/lib/slack/web/api/endpoints/search.rb +2 -2
- data/lib/slack/web/api/endpoints/stars.rb +11 -1
- data/lib/slack/web/api/endpoints/users.rb +28 -2
- data/lib/slack/web/api/endpoints/users_profile.rb +1 -1
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +13 -0
- data/slack-ruby-client.gemspec +1 -1
- data/spec/slack/messages/formatting_spec.rb +0 -1
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +79 -35
- data/spec/slack/slack_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +6 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +8 -6
- data/spec/slack/web/api/mixins/groups_spec.rb +8 -6
- data/spec/slack/web/api/mixins/users_spec.rb +9 -7
- metadata +18 -5
@@ -9,6 +9,8 @@ module Slack
|
|
9
9
|
# Starts a Real Time Messaging session.
|
10
10
|
#
|
11
11
|
# @option options [Object] :batch_presence_aware
|
12
|
+
# Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
|
13
|
+
# @option options [Object] :presence_sub
|
12
14
|
# Only deliver presence events when requested by subscription. See presence subscriptions.
|
13
15
|
# @see https://api.slack.com/methods/rtm.connect
|
14
16
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.connect.json
|
@@ -20,7 +22,7 @@ module Slack
|
|
20
22
|
# Starts a Real Time Messaging session.
|
21
23
|
#
|
22
24
|
# @option options [Object] :batch_presence_aware
|
23
|
-
#
|
25
|
+
# Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
|
24
26
|
# @option options [Object] :include_locale
|
25
27
|
# Set this to true to receive the locale for users and channels. Defaults to false.
|
26
28
|
# @option options [Object] :mpim_aware
|
@@ -29,6 +31,8 @@ module Slack
|
|
29
31
|
# Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.
|
30
32
|
# @option options [Object] :no_unreads
|
31
33
|
# Skip unread counts for each channel (improves performance).
|
34
|
+
# @option options [Object] :presence_sub
|
35
|
+
# Only deliver presence events when requested by subscription. See presence subscriptions.
|
32
36
|
# @option options [Object] :simple_latest
|
33
37
|
# Return timestamp only for latest message object of each channel (improves performance).
|
34
38
|
# @see https://api.slack.com/methods/rtm.start
|
@@ -27,7 +27,7 @@ module Slack
|
|
27
27
|
# Searches for files matching a query.
|
28
28
|
#
|
29
29
|
# @option options [Object] :query
|
30
|
-
# Search query.
|
30
|
+
# Search query.
|
31
31
|
# @option options [Object] :highlight
|
32
32
|
# Pass a value of true to enable query highlight markers (see below).
|
33
33
|
# @option options [Object] :sort
|
@@ -45,7 +45,7 @@ module Slack
|
|
45
45
|
# Searches for messages matching a query.
|
46
46
|
#
|
47
47
|
# @option options [Object] :query
|
48
|
-
# Search query.
|
48
|
+
# Search query.
|
49
49
|
# @option options [Object] :highlight
|
50
50
|
# Pass a value of true to enable query highlight markers (see below).
|
51
51
|
# @option options [Object] :sort
|
@@ -26,10 +26,20 @@ module Slack
|
|
26
26
|
#
|
27
27
|
# Lists stars for a user.
|
28
28
|
#
|
29
|
+
# @option options [Object] :cursor
|
30
|
+
# Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection. See pagination for more details.
|
31
|
+
# @option options [Object] :limit
|
32
|
+
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached.
|
29
33
|
# @see https://api.slack.com/methods/stars.list
|
30
34
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.list.json
|
31
35
|
def stars_list(options = {})
|
32
|
-
|
36
|
+
if block_given?
|
37
|
+
Pagination::Cursor.new(self, :stars_list, options).each do |page|
|
38
|
+
yield page
|
39
|
+
end
|
40
|
+
else
|
41
|
+
post('stars.list', options)
|
42
|
+
end
|
33
43
|
end
|
34
44
|
|
35
45
|
#
|
@@ -5,6 +5,32 @@ module Slack
|
|
5
5
|
module Api
|
6
6
|
module Endpoints
|
7
7
|
module Users
|
8
|
+
#
|
9
|
+
# List conversations the calling user may access.
|
10
|
+
#
|
11
|
+
# @option options [Object] :cursor
|
12
|
+
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
|
13
|
+
# @option options [Object] :exclude_archived
|
14
|
+
# Set to true to exclude archived channels from the list.
|
15
|
+
# @option options [Object] :limit
|
16
|
+
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000.
|
17
|
+
# @option options [Object] :types
|
18
|
+
# Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
|
19
|
+
# @option options [user] :user
|
20
|
+
# Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.
|
21
|
+
# @see https://api.slack.com/methods/users.conversations
|
22
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.conversations.json
|
23
|
+
def users_conversations(options = {})
|
24
|
+
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
25
|
+
if block_given?
|
26
|
+
Pagination::Cursor.new(self, :users_conversations, options).each do |page|
|
27
|
+
yield page
|
28
|
+
end
|
29
|
+
else
|
30
|
+
post('users.conversations', options)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
8
34
|
#
|
9
35
|
# Delete the user profile photo
|
10
36
|
#
|
@@ -61,7 +87,7 @@ module Slack
|
|
61
87
|
# @option options [Object] :limit
|
62
88
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
|
63
89
|
# @option options [Object] :presence
|
64
|
-
# Whether to include presence data in the output. Defaults to false. Setting this to true reduces performance, especially with large teams.
|
90
|
+
# Deprecated. Whether to include presence data in the output. Defaults to false. Setting this to true reduces performance, especially with large teams.
|
65
91
|
# @see https://api.slack.com/methods/users.list
|
66
92
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
|
67
93
|
def users_list(options = {})
|
@@ -87,7 +113,7 @@ module Slack
|
|
87
113
|
end
|
88
114
|
|
89
115
|
#
|
90
|
-
#
|
116
|
+
# Marked a user as active. Deprecated and non-functional.
|
91
117
|
#
|
92
118
|
# @see https://api.slack.com/methods/users.setActive
|
93
119
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setActive.json
|
@@ -25,7 +25,7 @@ module Slack
|
|
25
25
|
# @option options [Object] :name
|
26
26
|
# Name of a single key to set. Usable only if profile is not passed.
|
27
27
|
# @option options [Object] :profile
|
28
|
-
# Collection of key:value pairs presented as a URL-encoded JSON hash.
|
28
|
+
# Collection of key:value pairs presented as a URL-encoded JSON hash. At most 50 fields may be set. Each field name is limited to 255 characters.
|
29
29
|
# @option options [user] :user
|
30
30
|
# ID of user to change. This argument may only be specified by team admins on paid teams.
|
31
31
|
# @option options [Object] :value
|
@@ -0,0 +1,13 @@
|
|
1
|
+
diff --git a/slack-ruby-client/lib/slack/web/api/endpoints/chat.rb b/slack-ruby-client-original/lib/slack/web/api/endpoints/chat.rb
|
2
|
+
index 194419e..2ef5c65 100644
|
3
|
+
--- a/lib/slack/web/api/endpoints/chat.rb
|
4
|
+
+++ b/lib/slack/web/api/endpoints/chat.rb
|
5
|
+
@@ -93,7 +93,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
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
9
|
+
- throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
|
10
|
+
+ throw ArgumentError.new('Required arguments :text or :attachments missing') if options[:text].nil? && options[:attachments].nil?
|
11
|
+
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
12
|
+
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
13
|
+
# attachments must be passed as an encoded JSON string
|
data/slack-ruby-client.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.add_development_dependency 'json-schema'
|
27
27
|
s.add_development_dependency 'rake', '~> 10'
|
28
28
|
s.add_development_dependency 'rspec'
|
29
|
-
s.add_development_dependency 'rubocop', '0.
|
29
|
+
s.add_development_dependency 'rubocop', '0.58.2'
|
30
30
|
s.add_development_dependency 'vcr'
|
31
31
|
s.add_development_dependency 'webmock'
|
32
32
|
end
|
@@ -4,59 +4,103 @@ require_relative './it_behaves_like_a_realtime_socket'
|
|
4
4
|
begin
|
5
5
|
RSpec.describe Slack::RealTime::Concurrency::Celluloid::Socket do
|
6
6
|
it_behaves_like 'a realtime socket'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
7
|
+
|
8
|
+
let(:url) { 'wss://echo.websocket.org/websocket/xyz' }
|
9
|
+
let(:logger) { ::Logger.new(STDOUT) }
|
10
|
+
|
11
|
+
let(:driver) { WebSocket::Driver::Client }
|
12
|
+
let(:ws) { double(driver) }
|
13
|
+
subject { socket }
|
14
|
+
|
15
|
+
['', nil].each do |data|
|
16
|
+
context "finishing run_loop with #{data ? 'empty' : 'nil'} read" do
|
17
|
+
let(:ssl_socket) do
|
18
|
+
Class.new(Celluloid::IO::SSLSocket) do
|
19
|
+
def initialize(data)
|
20
|
+
@data = data
|
21
|
+
end
|
22
|
+
|
23
|
+
def connect; end
|
24
|
+
|
25
|
+
def readpartial(_size)
|
26
|
+
@data
|
18
27
|
end
|
19
28
|
end
|
29
|
+
end
|
20
30
|
|
21
|
-
|
22
|
-
|
31
|
+
let(:test_socket) do
|
32
|
+
Class.new(described_class) do
|
33
|
+
def build_socket
|
34
|
+
options[:ssl_socket].new(options[:data])
|
35
|
+
end
|
23
36
|
end
|
37
|
+
end
|
24
38
|
|
25
|
-
|
26
|
-
|
27
|
-
|
39
|
+
let(:socket) do
|
40
|
+
test_socket.new(url, logger: logger, data: data, ssl_socket: ssl_socket)
|
41
|
+
end
|
28
42
|
|
29
|
-
|
30
|
-
|
31
|
-
|
43
|
+
context 'with a driver' do
|
44
|
+
before do
|
45
|
+
socket.instance_variable_set('@driver', ws)
|
32
46
|
end
|
33
47
|
|
34
|
-
context '
|
35
|
-
|
36
|
-
|
48
|
+
context 'consumes data' do
|
49
|
+
it 'runs' do
|
50
|
+
expect(ws).to receive(:emit)
|
51
|
+
expect(ws).to receive(:start)
|
52
|
+
expect(logger).to receive(:debug).with("#{test_socket}#run_loop")
|
53
|
+
socket.run_loop
|
37
54
|
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
38
59
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
60
|
+
[EOFError, Errno::ECONNRESET, Errno::EPIPE].each do |err|
|
61
|
+
context "finishing run_loop with #{err}" do
|
62
|
+
let(:test_socket) do
|
63
|
+
Class.new(described_class) do
|
64
|
+
def read
|
65
|
+
raise options[:err]
|
44
66
|
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
let(:socket) do
|
71
|
+
test_socket.new(url, logger: logger, err: err)
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'with a driver' do
|
75
|
+
before do
|
76
|
+
socket.instance_variable_set('@driver', ws)
|
77
|
+
end
|
45
78
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
expect(logger).to receive(:debug).with("#{test_socket}#run_loop")
|
51
|
-
socket.run_loop
|
52
|
-
end
|
79
|
+
describe '#disconnect!' do
|
80
|
+
it 'closes and nils the websocket' do
|
81
|
+
expect(ws).to receive(:close)
|
82
|
+
socket.disconnect!
|
53
83
|
end
|
54
84
|
end
|
55
85
|
|
56
|
-
|
86
|
+
context 'consumes data' do
|
87
|
+
it 'runs' do
|
88
|
+
expect(ws).to receive(:emit)
|
89
|
+
expect(ws).to receive(:start)
|
90
|
+
expect(logger).to receive(:debug).with("#{test_socket}#run_loop")
|
91
|
+
socket.run_loop
|
92
|
+
end
|
93
|
+
end
|
57
94
|
end
|
58
95
|
end
|
59
96
|
end
|
97
|
+
|
98
|
+
describe '#connect!' do
|
99
|
+
pending 'connects'
|
100
|
+
pending 'pings every 30s'
|
101
|
+
end
|
102
|
+
|
103
|
+
pending 'send_data'
|
60
104
|
end
|
61
105
|
rescue LoadError
|
62
106
|
end
|
data/spec/slack/slack_spec.rb
CHANGED
@@ -17,8 +17,8 @@ describe Slack do
|
|
17
17
|
context 'globals' do
|
18
18
|
it 'enables request and response logging with -d' do
|
19
19
|
output = `"#{slack}" --vcr-cassette-name=web/auth_test_success --slack-api-token=token -d auth test 2>&1`
|
20
|
-
expect(output).to include '
|
21
|
-
expect(output).to include 'Status
|
20
|
+
expect(output).to include 'POST https://slack.com/api/auth.test'
|
21
|
+
expect(output).to include 'Status 200'
|
22
22
|
end
|
23
23
|
it 'requires --slack-api-token' do
|
24
24
|
err = `"#{slack}" auth test 2>&1`
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::AppsPermissionsUsers do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'apps.permissions.users_request' do
|
8
|
+
it 'requires scopes' do
|
9
|
+
expect { client.apps_permissions_users_request(trigger_id: ' ', user: ' ') }.to raise_error ArgumentError, /Required arguments :scopes missing/
|
10
|
+
end
|
11
|
+
it 'requires trigger_id' do
|
12
|
+
expect { client.apps_permissions_users_request(scopes: ' ', user: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
13
|
+
end
|
14
|
+
it 'requires user' do
|
15
|
+
expect { client.apps_permissions_users_request(scopes: ' ', trigger_id: ' ') }.to raise_error ArgumentError, /Required arguments :user missing/
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -19,8 +19,8 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
19
19
|
client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', attachments: [])
|
20
20
|
end
|
21
21
|
context 'text and user arguments' do
|
22
|
-
it 'requires text' do
|
23
|
-
expect { client.chat_postEphemeral(channel: 'channel') }.to raise_error ArgumentError, /Required arguments :text missing/
|
22
|
+
it 'requires text or attachments' do
|
23
|
+
expect { client.chat_postEphemeral(channel: 'channel') }.to raise_error ArgumentError, /Required arguments :text or :attachments missing/
|
24
24
|
end
|
25
25
|
it 'requires user' do
|
26
26
|
expect { client.chat_postEphemeral(channel: 'channel', text: 'text') }.to raise_error ArgumentError, /Required arguments :user missing/
|
@@ -35,6 +35,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
35
35
|
expect(client).to receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
|
36
36
|
expect { client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', attachments: []) }.to_not raise_error
|
37
37
|
end
|
38
|
+
it 'attachments without text' do
|
39
|
+
expect(client).to receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
|
40
|
+
expect { client.chat_postEphemeral(channel: 'channel', attachments: [], user: '123') }.to_not raise_error
|
41
|
+
end
|
38
42
|
end
|
39
43
|
end
|
40
44
|
|
@@ -10,12 +10,14 @@ RSpec.describe Slack::Web::Api::Mixins::Channels do
|
|
10
10
|
klass.new
|
11
11
|
end
|
12
12
|
before do
|
13
|
-
allow(subject).to receive(:channels_list).and_return(
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
allow(subject).to receive(:channels_list).and_return(
|
14
|
+
Slack::Messages::Message.new(
|
15
|
+
'channels' => [{
|
16
|
+
'id' => 'CDEADBEEF',
|
17
|
+
'name' => 'general'
|
18
|
+
}]
|
19
|
+
)
|
20
|
+
)
|
19
21
|
end
|
20
22
|
context '#channels_id' do
|
21
23
|
it 'leaves channels specified by ID alone' do
|
@@ -10,12 +10,14 @@ RSpec.describe Slack::Web::Api::Mixins::Groups do
|
|
10
10
|
klass.new
|
11
11
|
end
|
12
12
|
before do
|
13
|
-
allow(subject).to receive(:groups_list).and_return(
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
allow(subject).to receive(:groups_list).and_return(
|
14
|
+
Slack::Messages::Message.new(
|
15
|
+
'groups' => [{
|
16
|
+
'id' => 'CDEADBEEF',
|
17
|
+
'name' => 'general'
|
18
|
+
}]
|
19
|
+
)
|
20
|
+
)
|
19
21
|
end
|
20
22
|
context '#groups_id' do
|
21
23
|
it 'leaves groups specified by ID alone' do
|
@@ -10,13 +10,15 @@ RSpec.describe Slack::Web::Api::Mixins::Users do
|
|
10
10
|
klass.new
|
11
11
|
end
|
12
12
|
before do
|
13
|
-
allow(subject).to receive(:users_list).and_return(
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
allow(subject).to receive(:users_list).and_return(
|
14
|
+
Slack::Messages::Message.new(
|
15
|
+
'members' => [{
|
16
|
+
'id' => 'UDEADBEEF',
|
17
|
+
'name' => 'aws',
|
18
|
+
'profile' => {}
|
19
|
+
}]
|
20
|
+
)
|
21
|
+
)
|
20
22
|
end
|
21
23
|
context '#users_id' do
|
22
24
|
it 'leaves users specified by ID alone' do
|
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: 0.
|
4
|
+
version: 0.12.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: 2018-
|
11
|
+
date: 2018-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - '='
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
159
|
+
version: 0.58.2
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - '='
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
166
|
+
version: 0.58.2
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: vcr
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,6 +217,9 @@ files:
|
|
217
217
|
- bin/commands.rb
|
218
218
|
- bin/commands/api.rb
|
219
219
|
- bin/commands/apps_permissions.rb
|
220
|
+
- bin/commands/apps_permissions_resources.rb
|
221
|
+
- bin/commands/apps_permissions_scopes.rb
|
222
|
+
- bin/commands/apps_permissions_users.rb
|
220
223
|
- bin/commands/auth.rb
|
221
224
|
- bin/commands/bots.rb
|
222
225
|
- bin/commands/channels.rb
|
@@ -298,6 +301,9 @@ files:
|
|
298
301
|
- lib/slack/web/api/endpoints.rb
|
299
302
|
- lib/slack/web/api/endpoints/api.rb
|
300
303
|
- lib/slack/web/api/endpoints/apps_permissions.rb
|
304
|
+
- lib/slack/web/api/endpoints/apps_permissions_resources.rb
|
305
|
+
- lib/slack/web/api/endpoints/apps_permissions_scopes.rb
|
306
|
+
- lib/slack/web/api/endpoints/apps_permissions_users.rb
|
301
307
|
- lib/slack/web/api/endpoints/auth.rb
|
302
308
|
- lib/slack/web/api/endpoints/bots.rb
|
303
309
|
- lib/slack/web/api/endpoints/channels.rb
|
@@ -345,6 +351,7 @@ files:
|
|
345
351
|
- lib/slack/web/api/patches/chat.2.attachments-json.patch
|
346
352
|
- lib/slack/web/api/patches/chat.3.update-attachments-support.patch
|
347
353
|
- lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch
|
354
|
+
- lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch
|
348
355
|
- lib/slack/web/api/patches/dialog.1.open-json-support.patch
|
349
356
|
- lib/slack/web/api/schema/group.json
|
350
357
|
- lib/slack/web/api/schema/method.json
|
@@ -401,7 +408,10 @@ files:
|
|
401
408
|
- spec/slack/slack_spec.rb
|
402
409
|
- spec/slack/version_spec.rb
|
403
410
|
- spec/slack/web/api/endpoints/api_spec.rb
|
411
|
+
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
412
|
+
- spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
|
404
413
|
- spec/slack/web/api/endpoints/apps_permissions_spec.rb
|
414
|
+
- spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
|
405
415
|
- spec/slack/web/api/endpoints/bots_spec.rb
|
406
416
|
- spec/slack/web/api/endpoints/conversations_spec.rb
|
407
417
|
- spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
|
@@ -467,7 +477,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
467
477
|
version: 1.3.6
|
468
478
|
requirements: []
|
469
479
|
rubyforge_project:
|
470
|
-
rubygems_version: 2.7.
|
480
|
+
rubygems_version: 2.7.6
|
471
481
|
signing_key:
|
472
482
|
specification_version: 4
|
473
483
|
summary: Slack Web and RealTime API client.
|
@@ -506,7 +516,10 @@ test_files:
|
|
506
516
|
- spec/slack/slack_spec.rb
|
507
517
|
- spec/slack/version_spec.rb
|
508
518
|
- spec/slack/web/api/endpoints/api_spec.rb
|
519
|
+
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
520
|
+
- spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
|
509
521
|
- spec/slack/web/api/endpoints/apps_permissions_spec.rb
|
522
|
+
- spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
|
510
523
|
- spec/slack/web/api/endpoints/bots_spec.rb
|
511
524
|
- spec/slack/web/api/endpoints/conversations_spec.rb
|
512
525
|
- spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
|