slack-ruby-client 0.15.1 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
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!