slack-ruby-client 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +0 -14
  4. data/.travis.yml +1 -4
  5. data/CHANGELOG.md +8 -0
  6. data/CONTRIBUTING.md +3 -10
  7. data/README.md +9 -27
  8. data/UPGRADING.md +14 -2
  9. data/bin/commands.rb +7 -0
  10. data/bin/commands/admin_analytics.rb +15 -0
  11. data/bin/commands/admin_apps.rb +15 -2
  12. data/bin/commands/admin_barriers.rb +47 -0
  13. data/bin/commands/admin_conversations.rb +154 -2
  14. data/bin/commands/admin_conversations_ekm.rb +17 -0
  15. data/bin/commands/admin_conversations_restrictAccess.rb +4 -4
  16. data/bin/commands/admin_conversations_whitelist.rb +1 -1
  17. data/bin/commands/admin_emoji.rb +1 -1
  18. data/bin/commands/admin_usergroups.rb +2 -2
  19. data/bin/commands/admin_users.rb +2 -2
  20. data/bin/commands/admin_users_session.rb +22 -0
  21. data/bin/commands/api.rb +0 -1
  22. data/bin/commands/apps_connections.rb +13 -0
  23. data/bin/commands/apps_event_authorizations.rb +16 -0
  24. data/bin/commands/auth_teams.rb +16 -0
  25. data/bin/commands/bots.rb +1 -0
  26. data/bin/commands/channels.rb +6 -3
  27. data/bin/commands/chat.rb +4 -4
  28. data/bin/commands/chat_scheduledMessages.rb +1 -0
  29. data/bin/commands/conversations.rb +14 -2
  30. data/bin/commands/dnd.rb +1 -1
  31. data/bin/commands/files.rb +6 -5
  32. data/bin/commands/files_remote.rb +2 -2
  33. data/bin/commands/groups.rb +5 -3
  34. data/bin/commands/im.rb +1 -1
  35. data/bin/commands/migration.rb +1 -0
  36. data/bin/commands/mpim.rb +3 -3
  37. data/bin/commands/pins.rb +0 -2
  38. data/bin/commands/reactions.rb +1 -0
  39. data/bin/commands/search.rb +4 -1
  40. data/bin/commands/team.rb +3 -0
  41. data/bin/commands/usergroups.rb +6 -1
  42. data/bin/commands/usergroups_users.rb +2 -0
  43. data/bin/commands/users.rb +5 -3
  44. data/bin/commands/users_profile.rb +5 -5
  45. data/bin/commands/views.rb +1 -1
  46. data/bin/commands/workflows.rb +38 -0
  47. data/lib/slack-ruby-client.rb +2 -0
  48. data/lib/slack/events/request.rb +5 -1
  49. data/lib/slack/real_time/client.rb +0 -1
  50. data/lib/slack/real_time/concurrency.rb +0 -2
  51. data/lib/slack/real_time/config.rb +5 -4
  52. data/lib/slack/version.rb +1 -1
  53. data/lib/slack/web/api/endpoints.rb +14 -0
  54. data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
  55. data/lib/slack/web/api/endpoints/admin_apps.rb +22 -2
  56. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  57. data/lib/slack/web/api/endpoints/admin_conversations.rb +231 -1
  58. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  59. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +3 -3
  60. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +3 -3
  61. data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
  62. data/lib/slack/web/api/endpoints/admin_usergroups.rb +1 -1
  63. data/lib/slack/web/api/endpoints/admin_users.rb +4 -6
  64. data/lib/slack/web/api/endpoints/admin_users_session.rb +38 -0
  65. data/lib/slack/web/api/endpoints/api.rb +0 -2
  66. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  67. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  68. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  69. data/lib/slack/web/api/endpoints/bots.rb +2 -0
  70. data/lib/slack/web/api/endpoints/channels.rb +9 -3
  71. data/lib/slack/web/api/endpoints/chat.rb +3 -3
  72. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +2 -0
  73. data/lib/slack/web/api/endpoints/conversations.rb +21 -1
  74. data/lib/slack/web/api/endpoints/files.rb +4 -2
  75. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  76. data/lib/slack/web/api/endpoints/groups.rb +7 -3
  77. data/lib/slack/web/api/endpoints/im.rb +1 -1
  78. data/lib/slack/web/api/endpoints/migration.rb +2 -0
  79. data/lib/slack/web/api/endpoints/mpim.rb +3 -3
  80. data/lib/slack/web/api/endpoints/pins.rb +0 -5
  81. data/lib/slack/web/api/endpoints/reactions.rb +2 -0
  82. data/lib/slack/web/api/endpoints/search.rb +6 -0
  83. data/lib/slack/web/api/endpoints/team.rb +6 -0
  84. data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
  85. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
  86. data/lib/slack/web/api/endpoints/users.rb +7 -5
  87. data/lib/slack/web/api/endpoints/users_profile.rb +3 -3
  88. data/lib/slack/web/api/endpoints/views.rb +1 -1
  89. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  90. data/lib/slack/web/api/errors.rb +194 -0
  91. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  92. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  93. data/lib/slack/web/api/templates/method_spec.erb +1 -1
  94. data/lib/slack/web/faraday/connection.rb +1 -1
  95. data/lib/slack/web/faraday/response/raise_error.rb +16 -1
  96. data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
  97. data/lib/tasks/web.rake +7 -3
  98. data/spec/slack/events/request_spec.rb +7 -3
  99. data/spec/slack/real_time/client_spec.rb +1 -1
  100. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  101. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  102. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  103. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  104. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +5 -5
  105. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +85 -0
  106. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +5 -5
  107. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +6 -6
  108. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +10 -10
  109. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +2 -2
  110. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  111. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +8 -0
  112. data/spec/slack/web/api/endpoints/admin_users_spec.rb +15 -23
  113. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  114. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  115. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
  116. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
  117. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  118. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  119. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  120. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  121. data/spec/slack/web/api/endpoints/conversations_spec.rb +20 -12
  122. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  123. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  124. data/spec/slack/web/api/endpoints/files_spec.rb +4 -4
  125. data/spec/slack/web/api/endpoints/im_spec.rb +4 -4
  126. data/spec/slack/web/api/endpoints/mpim_spec.rb +4 -4
  127. data/spec/slack/web/api/endpoints/oauth_spec.rb +3 -3
  128. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -4
  129. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  130. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  131. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  132. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  133. data/spec/slack/web/client_spec.rb +56 -0
  134. data/spec/slack/web/faraday/response/raise_error_spec.rb +7 -6
  135. metadata +32 -19
  136. data/examples/hi_real_time/Gemfile +0 -6
  137. data/examples/hi_real_time/hi.gif +0 -0
  138. data/examples/hi_real_time/hi.rb +0 -41
  139. data/examples/hi_real_time_async_celluloid/Gemfile +0 -7
  140. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  141. data/examples/hi_real_time_async_celluloid/hi.rb +0 -39
  142. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -7
  143. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  144. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -39
  145. data/lib/slack/real_time/concurrency/celluloid.rb +0 -142
  146. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -85
  147. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -116
  148. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -57
  149. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -17
@@ -7,13 +7,13 @@ RSpec.describe Slack::Web::Api::Endpoints::Oauth do
7
7
  let(:client) { Slack::Web::Client.new }
8
8
  context 'oauth_token' do
9
9
  it 'requires client_id' do
10
- expect { client.oauth_token(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
10
+ expect { client.oauth_token(client_secret: %q[33fea0113f5b1], code: %q[ccdaa72ad]) }.to raise_error ArgumentError, /Required arguments :client_id missing/
11
11
  end
12
12
  it 'requires client_secret' do
13
- expect { client.oauth_token(client_id: '4b39e9-752c4', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_secret missing/
13
+ expect { client.oauth_token(client_id: %q[4b39e9-752c4], code: %q[ccdaa72ad]) }.to raise_error ArgumentError, /Required arguments :client_secret missing/
14
14
  end
15
15
  it 'requires code' do
16
- expect { client.oauth_token(client_id: '4b39e9-752c4', client_secret: '33fea0113f5b1') }.to raise_error ArgumentError, /Required arguments :code missing/
16
+ expect { client.oauth_token(client_id: %q[4b39e9-752c4], client_secret: %q[33fea0113f5b1]) }.to raise_error ArgumentError, /Required arguments :code missing/
17
17
  end
18
18
  end
19
19
  end
@@ -7,10 +7,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Pins do
7
7
  let(:client) { Slack::Web::Client.new }
8
8
  context 'pins_add' do
9
9
  it 'requires channel' do
10
- expect { client.pins_add(timestamp: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
11
- end
12
- it 'requires timestamp' do
13
- expect { client.pins_add(channel: 'C1234567890') }.to raise_error ArgumentError, /Required arguments :timestamp missing/
10
+ expect { client.pins_add }.to raise_error ArgumentError, /Required arguments :channel missing/
14
11
  end
15
12
  end
16
13
  context 'pins_list' do
@@ -7,13 +7,13 @@ RSpec.describe Slack::Web::Api::Endpoints::Reactions do
7
7
  let(:client) { Slack::Web::Client.new }
8
8
  context 'reactions_add' do
9
9
  it 'requires channel' do
10
- expect { client.reactions_add(name: 'thumbsup', timestamp: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
10
+ expect { client.reactions_add(name: %q[thumbsup], timestamp: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
11
11
  end
12
12
  it 'requires name' do
13
- expect { client.reactions_add(channel: 'C1234567890', timestamp: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :name missing/
13
+ expect { client.reactions_add(channel: %q[C1234567890], timestamp: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :name missing/
14
14
  end
15
15
  it 'requires timestamp' do
16
- expect { client.reactions_add(channel: 'C1234567890', name: 'thumbsup') }.to raise_error ArgumentError, /Required arguments :timestamp missing/
16
+ expect { client.reactions_add(channel: %q[C1234567890], name: %q[thumbsup]) }.to raise_error ArgumentError, /Required arguments :timestamp missing/
17
17
  end
18
18
  end
19
19
  context 'reactions_remove' do
@@ -7,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Reminders do
7
7
  let(:client) { Slack::Web::Client.new }
8
8
  context 'reminders_add' do
9
9
  it 'requires text' do
10
- expect { client.reminders_add(time: '1602288000') }.to raise_error ArgumentError, /Required arguments :text missing/
10
+ expect { client.reminders_add(time: %q[1602288000]) }.to raise_error ArgumentError, /Required arguments :text missing/
11
11
  end
12
12
  it 'requires time' do
13
- expect { client.reminders_add(text: 'eat a banana') }.to raise_error ArgumentError, /Required arguments :time missing/
13
+ expect { client.reminders_add(text: %q[eat a banana]) }.to raise_error ArgumentError, /Required arguments :time missing/
14
14
  end
15
15
  end
16
16
  context 'reminders_complete' do
@@ -12,10 +12,10 @@ RSpec.describe Slack::Web::Api::Endpoints::UsergroupsUsers do
12
12
  end
13
13
  context 'usergroups.users_update' do
14
14
  it 'requires usergroup' do
15
- expect { client.usergroups_users_update(users: 'U060R4BJ4,U060RNRCZ') }.to raise_error ArgumentError, /Required arguments :usergroup missing/
15
+ expect { client.usergroups_users_update(users: %q[U060R4BJ4,U060RNRCZ]) }.to raise_error ArgumentError, /Required arguments :usergroup missing/
16
16
  end
17
17
  it 'requires users' do
18
- expect { client.usergroups_users_update(usergroup: 'S0604QSJC') }.to raise_error ArgumentError, /Required arguments :users missing/
18
+ expect { client.usergroups_users_update(usergroup: %q[S0604QSJC]) }.to raise_error ArgumentError, /Required arguments :users missing/
19
19
  end
20
20
  end
21
21
  end
@@ -0,0 +1,26 @@
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::Workflows do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'workflows_stepCompleted' do
9
+ it 'requires workflow_step_execute_id' do
10
+ expect { client.workflows_stepCompleted }.to raise_error ArgumentError, /Required arguments :workflow_step_execute_id missing/
11
+ end
12
+ end
13
+ context 'workflows_stepFailed' do
14
+ it 'requires error' do
15
+ expect { client.workflows_stepFailed(workflow_step_execute_id: %q[]) }.to raise_error ArgumentError, /Required arguments :error missing/
16
+ end
17
+ it 'requires workflow_step_execute_id' do
18
+ expect { client.workflows_stepFailed(error: %q[]) }.to raise_error ArgumentError, /Required arguments :workflow_step_execute_id missing/
19
+ end
20
+ end
21
+ context 'workflows_updateStep' do
22
+ it 'requires workflow_step_edit_id' do
23
+ expect { client.workflows_updateStep }.to raise_error ArgumentError, /Required arguments :workflow_step_edit_id missing/
24
+ end
25
+ end
26
+ end
@@ -275,5 +275,61 @@ RSpec.describe Slack::Web::Client do
275
275
  end
276
276
  end
277
277
  end
278
+
279
+ context 'server failures' do
280
+ subject(:request) { client.api_test }
281
+
282
+ let(:stub_slack_request) { stub_request(:post, 'https://slack.com/api/api.test') }
283
+ let(:exception) do
284
+ begin
285
+ request
286
+ rescue Slack::Web::Api::Errors::ServerError => e
287
+ return e
288
+ end
289
+ end
290
+
291
+ context 'parsing error' do
292
+ before { stub_slack_request.to_return(body: '<html></html>') }
293
+
294
+ it 'raises ParsingError' do
295
+ expect { request }.to raise_error(Slack::Web::Api::Errors::ParsingError).with_message('parsing_error')
296
+ expect(exception.response.body).to eq('<html></html>')
297
+ expect(exception.cause).to be_a(Faraday::ParsingError)
298
+ expect(exception.cause.cause.cause).to be_a(JSON::ParserError)
299
+ end
300
+ end
301
+
302
+ context 'timeout' do
303
+ context 'open timeout' do
304
+ before { stub_slack_request.to_timeout }
305
+
306
+ it 'raises TimoutError' do
307
+ expect { request }.to raise_error(Slack::Web::Api::Errors::TimeoutError).with_message('timeout_error')
308
+ expect(exception.cause).to be_a(Faraday::ConnectionFailed)
309
+ expect(exception.cause.cause).to be_a(Net::OpenTimeout)
310
+ end
311
+ end
312
+
313
+ context 'read timeout' do
314
+ before { stub_slack_request.to_raise(Net::ReadTimeout) }
315
+
316
+ it 'raises TimeoutError' do
317
+ expect { request }.to raise_error(Slack::Web::Api::Errors::TimeoutError).with_message('timeout_error')
318
+ expect(exception.cause).to be_a(Faraday::TimeoutError)
319
+ expect(exception.cause.cause).to be_a(Net::ReadTimeout)
320
+ end
321
+ end
322
+ end
323
+
324
+ context '5xx response' do
325
+ before { stub_slack_request.to_return(status: 500, body: '{}') }
326
+
327
+ it 'raises UnavailableError' do
328
+ expect { request }.to raise_error(Slack::Web::Api::Errors::UnavailableError).with_message('unavailable_error')
329
+ expect(exception.cause).to be_a(Faraday::ServerError)
330
+ expect(exception.response.status).to eq(500)
331
+ end
332
+ end
333
+ end
278
334
  end
279
335
  end
@@ -2,14 +2,15 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  RSpec.describe Slack::Web::Faraday::Response::RaiseError do
5
- subject(:raise_error_obj) { described_class.new }
5
+ subject(:raise_error_obj) { described_class.new(app) }
6
6
 
7
- describe '#on_complete' do
8
- let(:status) { 200 }
9
- let(:response) { nil }
10
- let(:body) { {} }
11
- let(:env) { double status: status, response: response, body: body }
7
+ let(:app) { proc {} }
8
+ let(:status) { 200 }
9
+ let(:response) { nil }
10
+ let(:body) { {} }
11
+ let(:env) { double status: status, response: response, body: body, success?: true }
12
12
 
13
+ describe '#on_complete' do
13
14
  context 'with status of 429' do
14
15
  let(:status) { 429 }
15
16
 
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.15.1
4
+ version: 0.16.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: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2021-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -258,11 +258,14 @@ files:
258
258
  - Rakefile
259
259
  - UPGRADING.md
260
260
  - bin/commands.rb
261
+ - bin/commands/admin_analytics.rb
261
262
  - bin/commands/admin_apps.rb
262
263
  - bin/commands/admin_apps_approved.rb
263
264
  - bin/commands/admin_apps_requests.rb
264
265
  - bin/commands/admin_apps_restricted.rb
266
+ - bin/commands/admin_barriers.rb
265
267
  - bin/commands/admin_conversations.rb
268
+ - bin/commands/admin_conversations_ekm.rb
266
269
  - bin/commands/admin_conversations_restrictAccess.rb
267
270
  - bin/commands/admin_conversations_whitelist.rb
268
271
  - bin/commands/admin_emoji.rb
@@ -278,11 +281,14 @@ files:
278
281
  - bin/commands/admin_users_session.rb
279
282
  - bin/commands/api.rb
280
283
  - bin/commands/apps.rb
284
+ - bin/commands/apps_connections.rb
285
+ - bin/commands/apps_event_authorizations.rb
281
286
  - bin/commands/apps_permissions.rb
282
287
  - bin/commands/apps_permissions_resources.rb
283
288
  - bin/commands/apps_permissions_scopes.rb
284
289
  - bin/commands/apps_permissions_users.rb
285
290
  - bin/commands/auth.rb
291
+ - bin/commands/auth_teams.rb
286
292
  - bin/commands/bots.rb
287
293
  - bin/commands/calls.rb
288
294
  - bin/commands/calls_participants.rb
@@ -317,22 +323,14 @@ files:
317
323
  - bin/commands/users_prefs.rb
318
324
  - bin/commands/users_profile.rb
319
325
  - bin/commands/views.rb
326
+ - bin/commands/workflows.rb
320
327
  - bin/slack
321
- - examples/hi_real_time/Gemfile
322
- - examples/hi_real_time/hi.gif
323
- - examples/hi_real_time/hi.rb
324
328
  - examples/hi_real_time_and_web/Gemfile
325
329
  - examples/hi_real_time_and_web/hi.gif
326
330
  - examples/hi_real_time_and_web/hi.rb
327
331
  - examples/hi_real_time_async_async/Gemfile
328
332
  - examples/hi_real_time_async_async/Procfile
329
333
  - examples/hi_real_time_async_async/hi.rb
330
- - examples/hi_real_time_async_celluloid/Gemfile
331
- - examples/hi_real_time_async_celluloid/Procfile
332
- - examples/hi_real_time_async_celluloid/hi.rb
333
- - examples/hi_real_time_async_eventmachine/Gemfile
334
- - examples/hi_real_time_async_eventmachine/Procfile
335
- - examples/hi_real_time_async_eventmachine/hi.rb
336
334
  - examples/hi_web/Gemfile
337
335
  - examples/hi_web/hi.gif
338
336
  - examples/hi_web/hi.rb
@@ -355,8 +353,6 @@ files:
355
353
  - lib/slack/real_time/client.rb
356
354
  - lib/slack/real_time/concurrency.rb
357
355
  - lib/slack/real_time/concurrency/async.rb
358
- - lib/slack/real_time/concurrency/celluloid.rb
359
- - lib/slack/real_time/concurrency/eventmachine.rb
360
356
  - lib/slack/real_time/config.rb
361
357
  - lib/slack/real_time/models.rb
362
358
  - lib/slack/real_time/models/base.rb
@@ -373,11 +369,14 @@ files:
373
369
  - lib/slack/real_time/stores/store.rb
374
370
  - lib/slack/version.rb
375
371
  - lib/slack/web/api/endpoints.rb
372
+ - lib/slack/web/api/endpoints/admin_analytics.rb
376
373
  - lib/slack/web/api/endpoints/admin_apps.rb
377
374
  - lib/slack/web/api/endpoints/admin_apps_approved.rb
378
375
  - lib/slack/web/api/endpoints/admin_apps_requests.rb
379
376
  - lib/slack/web/api/endpoints/admin_apps_restricted.rb
377
+ - lib/slack/web/api/endpoints/admin_barriers.rb
380
378
  - lib/slack/web/api/endpoints/admin_conversations.rb
379
+ - lib/slack/web/api/endpoints/admin_conversations_ekm.rb
381
380
  - lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb
382
381
  - lib/slack/web/api/endpoints/admin_conversations_whitelist.rb
383
382
  - lib/slack/web/api/endpoints/admin_emoji.rb
@@ -393,11 +392,14 @@ files:
393
392
  - lib/slack/web/api/endpoints/admin_users_session.rb
394
393
  - lib/slack/web/api/endpoints/api.rb
395
394
  - lib/slack/web/api/endpoints/apps.rb
395
+ - lib/slack/web/api/endpoints/apps_connections.rb
396
+ - lib/slack/web/api/endpoints/apps_event_authorizations.rb
396
397
  - lib/slack/web/api/endpoints/apps_permissions.rb
397
398
  - lib/slack/web/api/endpoints/apps_permissions_resources.rb
398
399
  - lib/slack/web/api/endpoints/apps_permissions_scopes.rb
399
400
  - lib/slack/web/api/endpoints/apps_permissions_users.rb
400
401
  - lib/slack/web/api/endpoints/auth.rb
402
+ - lib/slack/web/api/endpoints/auth_teams.rb
401
403
  - lib/slack/web/api/endpoints/bots.rb
402
404
  - lib/slack/web/api/endpoints/calls.rb
403
405
  - lib/slack/web/api/endpoints/calls_participants.rb
@@ -433,8 +435,10 @@ files:
433
435
  - lib/slack/web/api/endpoints/users_prefs.rb
434
436
  - lib/slack/web/api/endpoints/users_profile.rb
435
437
  - lib/slack/web/api/endpoints/views.rb
438
+ - lib/slack/web/api/endpoints/workflows.rb
436
439
  - lib/slack/web/api/error.rb
437
440
  - lib/slack/web/api/errors.rb
441
+ - lib/slack/web/api/errors/internal_error.rb
438
442
  - lib/slack/web/api/errors/slack_error.rb
439
443
  - lib/slack/web/api/errors/too_many_requests_error.rb
440
444
  - lib/slack/web/api/mixins.rb
@@ -465,6 +469,7 @@ files:
465
469
  - lib/slack/web/faraday/connection.rb
466
470
  - lib/slack/web/faraday/request.rb
467
471
  - lib/slack/web/faraday/response/raise_error.rb
472
+ - lib/slack/web/faraday/response/wrap_error.rb
468
473
  - lib/slack/web/pagination/cursor.rb
469
474
  - lib/slack_ruby_client.rb
470
475
  - lib/tasks/git.rake
@@ -498,8 +503,6 @@ files:
498
503
  - spec/slack/real_time/api/ping_spec.rb
499
504
  - spec/slack/real_time/api/typing_spec.rb
500
505
  - spec/slack/real_time/client_spec.rb
501
- - spec/slack/real_time/concurrency/celluloid_spec.rb
502
- - spec/slack/real_time/concurrency/eventmachine_spec.rb
503
506
  - spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb
504
507
  - spec/slack/real_time/event_handlers/bot_spec.rb
505
508
  - spec/slack/real_time/event_handlers/channel_spec.rb
@@ -513,10 +516,13 @@ files:
513
516
  - spec/slack/real_time/store_spec.rb
514
517
  - spec/slack/slack_spec.rb
515
518
  - spec/slack/version_spec.rb
519
+ - spec/slack/web/api/endpoints/admin_analytics_spec.rb
516
520
  - spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
517
521
  - spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
518
522
  - spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
519
523
  - spec/slack/web/api/endpoints/admin_apps_spec.rb
524
+ - spec/slack/web/api/endpoints/admin_barriers_spec.rb
525
+ - spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb
520
526
  - spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb
521
527
  - spec/slack/web/api/endpoints/admin_conversations_spec.rb
522
528
  - spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb
@@ -532,11 +538,14 @@ files:
532
538
  - spec/slack/web/api/endpoints/admin_users_session_spec.rb
533
539
  - spec/slack/web/api/endpoints/admin_users_spec.rb
534
540
  - spec/slack/web/api/endpoints/api_spec.rb
541
+ - spec/slack/web/api/endpoints/apps_connections_spec.rb
542
+ - spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb
535
543
  - spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
536
544
  - spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
537
545
  - spec/slack/web/api/endpoints/apps_permissions_spec.rb
538
546
  - spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
539
547
  - spec/slack/web/api/endpoints/apps_spec.rb
548
+ - spec/slack/web/api/endpoints/auth_teams_spec.rb
540
549
  - spec/slack/web/api/endpoints/bots_spec.rb
541
550
  - spec/slack/web/api/endpoints/calls_participants_spec.rb
542
551
  - spec/slack/web/api/endpoints/calls_spec.rb
@@ -573,8 +582,8 @@ files:
573
582
  - spec/slack/web/api/endpoints/users_prefs_spec.rb
574
583
  - spec/slack/web/api/endpoints/users_profile_spec.rb
575
584
  - spec/slack/web/api/endpoints/views_spec.rb
585
+ - spec/slack/web/api/endpoints/workflows_spec.rb
576
586
  - spec/slack/web/api/error_spec.rb
577
- - spec/slack/web/api/errors/service_unavailable_spec.rb
578
587
  - spec/slack/web/api/errors/slack_error_spec.rb
579
588
  - spec/slack/web/api/mixins/channels_spec.rb
580
589
  - spec/slack/web/api/mixins/conversations_list_spec.rb
@@ -639,8 +648,6 @@ test_files:
639
648
  - spec/slack/real_time/api/ping_spec.rb
640
649
  - spec/slack/real_time/api/typing_spec.rb
641
650
  - spec/slack/real_time/client_spec.rb
642
- - spec/slack/real_time/concurrency/celluloid_spec.rb
643
- - spec/slack/real_time/concurrency/eventmachine_spec.rb
644
651
  - spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb
645
652
  - spec/slack/real_time/event_handlers/bot_spec.rb
646
653
  - spec/slack/real_time/event_handlers/channel_spec.rb
@@ -654,10 +661,13 @@ test_files:
654
661
  - spec/slack/real_time/store_spec.rb
655
662
  - spec/slack/slack_spec.rb
656
663
  - spec/slack/version_spec.rb
664
+ - spec/slack/web/api/endpoints/admin_analytics_spec.rb
657
665
  - spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
658
666
  - spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
659
667
  - spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
660
668
  - spec/slack/web/api/endpoints/admin_apps_spec.rb
669
+ - spec/slack/web/api/endpoints/admin_barriers_spec.rb
670
+ - spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb
661
671
  - spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb
662
672
  - spec/slack/web/api/endpoints/admin_conversations_spec.rb
663
673
  - spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb
@@ -673,11 +683,14 @@ test_files:
673
683
  - spec/slack/web/api/endpoints/admin_users_session_spec.rb
674
684
  - spec/slack/web/api/endpoints/admin_users_spec.rb
675
685
  - spec/slack/web/api/endpoints/api_spec.rb
686
+ - spec/slack/web/api/endpoints/apps_connections_spec.rb
687
+ - spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb
676
688
  - spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
677
689
  - spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
678
690
  - spec/slack/web/api/endpoints/apps_permissions_spec.rb
679
691
  - spec/slack/web/api/endpoints/apps_permissions_users_spec.rb
680
692
  - spec/slack/web/api/endpoints/apps_spec.rb
693
+ - spec/slack/web/api/endpoints/auth_teams_spec.rb
681
694
  - spec/slack/web/api/endpoints/bots_spec.rb
682
695
  - spec/slack/web/api/endpoints/calls_participants_spec.rb
683
696
  - spec/slack/web/api/endpoints/calls_spec.rb
@@ -714,8 +727,8 @@ test_files:
714
727
  - spec/slack/web/api/endpoints/users_prefs_spec.rb
715
728
  - spec/slack/web/api/endpoints/users_profile_spec.rb
716
729
  - spec/slack/web/api/endpoints/views_spec.rb
730
+ - spec/slack/web/api/endpoints/workflows_spec.rb
717
731
  - spec/slack/web/api/error_spec.rb
718
- - spec/slack/web/api/errors/service_unavailable_spec.rb
719
732
  - spec/slack/web/api/errors/slack_error_spec.rb
720
733
  - spec/slack/web/api/mixins/channels_spec.rb
721
734
  - spec/slack/web/api/mixins/conversations_list_spec.rb
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- source 'http://rubygems.org'
3
-
4
- gem 'slack-ruby-client', path: '../..'
5
-
6
- gem 'celluloid-io', require: ['celluloid/current', 'celluloid/io']
Binary file
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'slack-ruby-client'
3
-
4
- Slack.configure do |config|
5
- config.token = ENV['SLACK_API_TOKEN']
6
- config.logger = Logger.new(STDOUT)
7
- config.logger.level = Logger::INFO
8
- raise 'Missing ENV[SLACK_API_TOKEN]!' unless config.token
9
- end
10
-
11
- client = Slack::RealTime::Client.new
12
-
13
- client.on :hello do
14
- puts(
15
- "Successfully connected, welcome '#{client.self.name}' to " \
16
- "the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
17
- )
18
- end
19
-
20
- client.on :message do |data|
21
- puts data
22
-
23
- client.typing channel: data.channel
24
-
25
- case data.text
26
- when 'bot hi'
27
- client.message channel: data.channel, text: "Hi <@#{data.user}>!"
28
- when /^bot/
29
- client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
30
- end
31
- end
32
-
33
- client.on :close do |_data|
34
- puts 'Connection closing, exiting.'
35
- end
36
-
37
- client.on :closed do |_data|
38
- puts 'Connection has been disconnected.'
39
- end
40
-
41
- client.start!