slack-ruby-client 0.9.0 → 0.11.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +3 -0
  4. data/.rubocop_todo.yml +40 -39
  5. data/.travis.yml +1 -9
  6. data/CHANGELOG.md +24 -0
  7. data/CONTRIBUTING.md +2 -2
  8. data/Gemfile +3 -1
  9. data/README.md +40 -12
  10. data/Rakefile +1 -1
  11. data/UPGRADING.md +1 -1
  12. data/bin/commands/api.rb +2 -2
  13. data/bin/commands/apps_permissions.rb +22 -0
  14. data/bin/commands/auth.rb +4 -4
  15. data/bin/commands/bots.rb +2 -2
  16. data/bin/commands/channels.rb +52 -40
  17. data/bin/commands/chat.rb +63 -25
  18. data/bin/commands/conversations.rb +178 -0
  19. data/bin/commands/dialog.rb +14 -0
  20. data/bin/commands/dnd.rb +8 -8
  21. data/bin/commands/emoji.rb +2 -2
  22. data/bin/commands/files.rb +38 -17
  23. data/bin/commands/files_comments.rb +6 -6
  24. data/bin/commands/groups.rb +44 -51
  25. data/bin/commands/im.rb +16 -13
  26. data/bin/commands/migration.rb +14 -0
  27. data/bin/commands/mpim.rb +11 -11
  28. data/bin/commands/oauth.rb +15 -2
  29. data/bin/commands/pins.rb +6 -6
  30. data/bin/commands/reactions.rb +13 -13
  31. data/bin/commands/reminders.rb +10 -10
  32. data/bin/commands/rtm.rb +9 -6
  33. data/bin/commands/search.rb +9 -9
  34. data/bin/commands/stars.rb +8 -8
  35. data/bin/commands/team.rb +10 -10
  36. data/bin/commands/team_profile.rb +2 -2
  37. data/bin/commands/usergroups.rb +16 -16
  38. data/bin/commands/usergroups_users.rb +4 -4
  39. data/bin/commands/users.rb +40 -36
  40. data/bin/commands/users_admin.rb +28 -0
  41. data/bin/commands/users_prefs.rb +12 -0
  42. data/bin/commands/users_profile.rb +7 -7
  43. data/bin/commands.rb +7 -1
  44. data/bin/slack +1 -1
  45. data/examples/hi_real_time/hi.rb +1 -1
  46. data/examples/hi_real_time_and_web/hi.rb +1 -1
  47. data/examples/hi_real_time_async_celluloid/hi.rb +1 -1
  48. data/examples/hi_real_time_async_eventmachine/hi.rb +1 -1
  49. data/examples/hi_web/hi.rb +1 -1
  50. data/examples/new_ticket/new_ticket.rb +1 -1
  51. data/lib/slack/messages/formatting.rb +4 -4
  52. data/lib/slack/messages/message.rb +1 -2
  53. data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
  54. data/lib/slack/real_time/client.rb +11 -10
  55. data/lib/slack/real_time/concurrency/celluloid.rb +6 -2
  56. data/lib/slack/real_time/config.rb +11 -11
  57. data/lib/slack/real_time/models/base.rb +1 -2
  58. data/lib/slack/real_time/socket.rb +2 -2
  59. data/lib/slack/real_time/stores/base.rb +1 -2
  60. data/lib/slack/real_time/stores/starter.rb +92 -72
  61. data/lib/slack/real_time/stores/store.rb +120 -90
  62. data/lib/slack/version.rb +1 -1
  63. data/lib/slack/web/api/endpoints/api.rb +2 -2
  64. data/lib/slack/web/api/endpoints/apps_permissions.rb +35 -0
  65. data/lib/slack/web/api/endpoints/auth.rb +4 -4
  66. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  67. data/lib/slack/web/api/endpoints/channels.rb +57 -34
  68. data/lib/slack/web/api/endpoints/chat.rb +107 -37
  69. data/lib/slack/web/api/endpoints/conversations.rb +301 -0
  70. data/lib/slack/web/api/endpoints/dialog.rb +32 -0
  71. data/lib/slack/web/api/endpoints/dnd.rb +9 -9
  72. data/lib/slack/web/api/endpoints/emoji.rb +2 -2
  73. data/lib/slack/web/api/endpoints/files.rb +53 -23
  74. data/lib/slack/web/api/endpoints/files_comments.rb +11 -11
  75. data/lib/slack/web/api/endpoints/groups.rb +38 -50
  76. data/lib/slack/web/api/endpoints/im.rb +27 -17
  77. data/lib/slack/web/api/endpoints/migration.rb +25 -0
  78. data/lib/slack/web/api/endpoints/mpim.rb +13 -15
  79. data/lib/slack/web/api/endpoints/oauth.rb +24 -3
  80. data/lib/slack/web/api/endpoints/pins.rb +6 -8
  81. data/lib/slack/web/api/endpoints/presence.rb +1 -1
  82. data/lib/slack/web/api/endpoints/reactions.rb +18 -20
  83. data/lib/slack/web/api/endpoints/reminders.rb +10 -10
  84. data/lib/slack/web/api/endpoints/rtm.rb +14 -8
  85. data/lib/slack/web/api/endpoints/search.rb +12 -12
  86. data/lib/slack/web/api/endpoints/stars.rb +10 -12
  87. data/lib/slack/web/api/endpoints/team.rb +12 -13
  88. data/lib/slack/web/api/endpoints/team_profile.rb +2 -2
  89. data/lib/slack/web/api/endpoints/usergroups.rb +22 -22
  90. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -4
  91. data/lib/slack/web/api/endpoints/users.rb +34 -24
  92. data/lib/slack/web/api/endpoints/users_admin.rb +46 -0
  93. data/lib/slack/web/api/endpoints/users_prefs.rb +19 -0
  94. data/lib/slack/web/api/endpoints/users_profile.rb +10 -10
  95. data/lib/slack/web/api/endpoints.rb +14 -2
  96. data/lib/slack/web/api/mixins/ids.id.rb +1 -1
  97. data/lib/slack/web/api/mixins/users.search.rb +38 -36
  98. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +1 -1
  99. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +4 -3
  100. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +17 -0
  101. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
  102. data/lib/slack/web/api/templates/command.erb +4 -3
  103. data/lib/slack/web/api/templates/commands.erb +1 -1
  104. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  105. data/lib/slack/web/api/templates/method.erb +18 -3
  106. data/lib/slack/web/api/templates/method_spec.erb +1 -1
  107. data/lib/slack/web/config.rb +16 -12
  108. data/lib/slack/web/faraday/connection.rb +1 -1
  109. data/lib/slack/web/faraday/response/raise_error.rb +3 -3
  110. data/lib/slack/web/pagination/cursor.rb +48 -0
  111. data/lib/slack-ruby-client.rb +6 -0
  112. data/lib/tasks/git.rake +1 -1
  113. data/lib/tasks/real_time.rake +1 -1
  114. data/lib/tasks/web.rake +4 -1
  115. data/slack-ruby-client.gemspec +2 -3
  116. data/spec/fixtures/slack/web/paginated_users_list.yml +181 -0
  117. data/spec/integration/integration_spec.rb +1 -1
  118. data/spec/slack/messages/formatting_spec.rb +1 -1
  119. data/spec/slack/real_time/client_spec.rb +62 -63
  120. data/spec/slack/real_time/concurrency/celluloid_spec.rb +41 -31
  121. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +1 -1
  122. data/spec/slack/real_time/event_handlers/bot_spec.rb +4 -2
  123. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +1 -1
  124. data/spec/slack/real_time/event_handlers/user_spec.rb +4 -2
  125. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +15 -0
  126. data/spec/slack/web/api/endpoints/conversations_spec.rb +100 -0
  127. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +37 -1
  128. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +28 -0
  129. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +16 -6
  130. data/spec/slack/web/api/endpoints/files_comments_spec.rb +8 -8
  131. data/spec/slack/web/api/endpoints/files_spec.rb +16 -5
  132. data/spec/slack/web/api/endpoints/migration_spec.rb +12 -0
  133. data/spec/slack/web/api/endpoints/oauth_spec.rb +11 -0
  134. data/spec/slack/web/api/endpoints/users_admin_spec.rb +17 -0
  135. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +7 -0
  136. data/spec/slack/web/api/error_spec.rb +1 -1
  137. data/spec/slack/web/api/errors/slack_error_spec.rb +1 -1
  138. data/spec/slack/web/api/mixins/users_spec.rb +6 -4
  139. data/spec/slack/web/api/pagination/cursor_spec.rb +70 -0
  140. data/spec/support/queue_with_timeout.rb +1 -1
  141. data/spec/support/real_time/concurrency/mock.rb +1 -2
  142. metadata +47 -30
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.9.0
4
+ version: 0.11.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: 2017-08-06 00:00:00.000000000 Z
11
+ date: 2017-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -53,21 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: json
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: websocket-driver
56
+ name: gli
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: gli
70
+ name: hashie
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: hashie
84
+ name: websocket-driver
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -165,21 +151,21 @@ dependencies:
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: vcr
154
+ name: rubocop
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
- - - ">="
157
+ - - '='
172
158
  - !ruby/object:Gem::Version
173
- version: '0'
159
+ version: 0.51.0
174
160
  type: :development
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
- - - ">="
164
+ - - '='
179
165
  - !ruby/object:Gem::Version
180
- version: '0'
166
+ version: 0.51.0
181
167
  - !ruby/object:Gem::Dependency
182
- name: webmock
168
+ name: vcr
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - ">="
@@ -193,19 +179,19 @@ dependencies:
193
179
  - !ruby/object:Gem::Version
194
180
  version: '0'
195
181
  - !ruby/object:Gem::Dependency
196
- name: rubocop
182
+ name: webmock
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
- - - '='
185
+ - - ">="
200
186
  - !ruby/object:Gem::Version
201
- version: 0.35.0
187
+ version: '0'
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
- - - '='
192
+ - - ">="
207
193
  - !ruby/object:Gem::Version
208
- version: 0.35.0
194
+ version: '0'
209
195
  description:
210
196
  email: dblock@dblock.org
211
197
  executables:
@@ -230,16 +216,20 @@ files:
230
216
  - UPGRADING.md
231
217
  - bin/commands.rb
232
218
  - bin/commands/api.rb
219
+ - bin/commands/apps_permissions.rb
233
220
  - bin/commands/auth.rb
234
221
  - bin/commands/bots.rb
235
222
  - bin/commands/channels.rb
236
223
  - bin/commands/chat.rb
224
+ - bin/commands/conversations.rb
225
+ - bin/commands/dialog.rb
237
226
  - bin/commands/dnd.rb
238
227
  - bin/commands/emoji.rb
239
228
  - bin/commands/files.rb
240
229
  - bin/commands/files_comments.rb
241
230
  - bin/commands/groups.rb
242
231
  - bin/commands/im.rb
232
+ - bin/commands/migration.rb
243
233
  - bin/commands/mpim.rb
244
234
  - bin/commands/oauth.rb
245
235
  - bin/commands/pins.rb
@@ -253,6 +243,8 @@ files:
253
243
  - bin/commands/usergroups.rb
254
244
  - bin/commands/usergroups_users.rb
255
245
  - bin/commands/users.rb
246
+ - bin/commands/users_admin.rb
247
+ - bin/commands/users_prefs.rb
256
248
  - bin/commands/users_profile.rb
257
249
  - bin/slack
258
250
  - examples/hi_real_time/Gemfile
@@ -305,16 +297,20 @@ files:
305
297
  - lib/slack/version.rb
306
298
  - lib/slack/web/api/endpoints.rb
307
299
  - lib/slack/web/api/endpoints/api.rb
300
+ - lib/slack/web/api/endpoints/apps_permissions.rb
308
301
  - lib/slack/web/api/endpoints/auth.rb
309
302
  - lib/slack/web/api/endpoints/bots.rb
310
303
  - lib/slack/web/api/endpoints/channels.rb
311
304
  - lib/slack/web/api/endpoints/chat.rb
305
+ - lib/slack/web/api/endpoints/conversations.rb
306
+ - lib/slack/web/api/endpoints/dialog.rb
312
307
  - lib/slack/web/api/endpoints/dnd.rb
313
308
  - lib/slack/web/api/endpoints/emoji.rb
314
309
  - lib/slack/web/api/endpoints/files.rb
315
310
  - lib/slack/web/api/endpoints/files_comments.rb
316
311
  - lib/slack/web/api/endpoints/groups.rb
317
312
  - lib/slack/web/api/endpoints/im.rb
313
+ - lib/slack/web/api/endpoints/migration.rb
318
314
  - lib/slack/web/api/endpoints/mpim.rb
319
315
  - lib/slack/web/api/endpoints/oauth.rb
320
316
  - lib/slack/web/api/endpoints/pins.rb
@@ -329,6 +325,8 @@ files:
329
325
  - lib/slack/web/api/endpoints/usergroups.rb
330
326
  - lib/slack/web/api/endpoints/usergroups_users.rb
331
327
  - lib/slack/web/api/endpoints/users.rb
328
+ - lib/slack/web/api/endpoints/users_admin.rb
329
+ - lib/slack/web/api/endpoints/users_prefs.rb
332
330
  - lib/slack/web/api/endpoints/users_profile.rb
333
331
  - lib/slack/web/api/error.rb
334
332
  - lib/slack/web/api/errors/slack_error.rb
@@ -346,6 +344,8 @@ files:
346
344
  - lib/slack/web/api/patches/chat.1.text-attachments-required.patch
347
345
  - lib/slack/web/api/patches/chat.2.attachments-json.patch
348
346
  - lib/slack/web/api/patches/chat.3.update-attachments-support.patch
347
+ - lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch
348
+ - lib/slack/web/api/patches/dialog.1.open-json-support.patch
349
349
  - lib/slack/web/api/schema/group.json
350
350
  - lib/slack/web/api/schema/method.json
351
351
  - lib/slack/web/api/templates/command.erb
@@ -358,6 +358,7 @@ files:
358
358
  - lib/slack/web/faraday/connection.rb
359
359
  - lib/slack/web/faraday/request.rb
360
360
  - lib/slack/web/faraday/response/raise_error.rb
361
+ - lib/slack/web/pagination/cursor.rb
361
362
  - lib/slack_ruby_client.rb
362
363
  - lib/tasks/git.rake
363
364
  - lib/tasks/real_time.rake
@@ -371,6 +372,7 @@ files:
371
372
  - spec/fixtures/slack/web/auth_test_success.yml
372
373
  - spec/fixtures/slack/web/channels_info.yml
373
374
  - spec/fixtures/slack/web/groups_info.yml
375
+ - spec/fixtures/slack/web/paginated_users_list.yml
374
376
  - spec/fixtures/slack/web/rtm_connect.yml
375
377
  - spec/fixtures/slack/web/rtm_start.yml
376
378
  - spec/fixtures/slack/web/users_info.yml
@@ -398,10 +400,13 @@ files:
398
400
  - spec/slack/slack_spec.rb
399
401
  - spec/slack/version_spec.rb
400
402
  - spec/slack/web/api/endpoints/api_spec.rb
403
+ - spec/slack/web/api/endpoints/apps_permissions_spec.rb
401
404
  - spec/slack/web/api/endpoints/bots_spec.rb
405
+ - spec/slack/web/api/endpoints/conversations_spec.rb
402
406
  - spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
403
407
  - spec/slack/web/api/endpoints/custom_specs/channels_spec.rb
404
408
  - spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
409
+ - spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
405
410
  - spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
406
411
  - spec/slack/web/api/endpoints/custom_specs/users_spec.rb
407
412
  - spec/slack/web/api/endpoints/dnd_spec.rb
@@ -409,6 +414,7 @@ files:
409
414
  - spec/slack/web/api/endpoints/files_comments_spec.rb
410
415
  - spec/slack/web/api/endpoints/files_spec.rb
411
416
  - spec/slack/web/api/endpoints/im_spec.rb
417
+ - spec/slack/web/api/endpoints/migration_spec.rb
412
418
  - spec/slack/web/api/endpoints/mpim_spec.rb
413
419
  - spec/slack/web/api/endpoints/oauth_spec.rb
414
420
  - spec/slack/web/api/endpoints/pins_spec.rb
@@ -421,12 +427,15 @@ files:
421
427
  - spec/slack/web/api/endpoints/team_spec.rb
422
428
  - spec/slack/web/api/endpoints/usergroups_spec.rb
423
429
  - spec/slack/web/api/endpoints/usergroups_users_spec.rb
430
+ - spec/slack/web/api/endpoints/users_admin_spec.rb
431
+ - spec/slack/web/api/endpoints/users_prefs_spec.rb
424
432
  - spec/slack/web/api/endpoints/users_profile_spec.rb
425
433
  - spec/slack/web/api/error_spec.rb
426
434
  - spec/slack/web/api/errors/slack_error_spec.rb
427
435
  - spec/slack/web/api/mixins/channels_spec.rb
428
436
  - spec/slack/web/api/mixins/groups_spec.rb
429
437
  - spec/slack/web/api/mixins/users_spec.rb
438
+ - spec/slack/web/api/pagination/cursor_spec.rb
430
439
  - spec/slack/web/client_spec.rb
431
440
  - spec/spec_helper.rb
432
441
  - spec/support/queue_with_timeout.rb
@@ -465,6 +474,7 @@ test_files:
465
474
  - spec/fixtures/slack/web/auth_test_success.yml
466
475
  - spec/fixtures/slack/web/channels_info.yml
467
476
  - spec/fixtures/slack/web/groups_info.yml
477
+ - spec/fixtures/slack/web/paginated_users_list.yml
468
478
  - spec/fixtures/slack/web/rtm_connect.yml
469
479
  - spec/fixtures/slack/web/rtm_start.yml
470
480
  - spec/fixtures/slack/web/users_info.yml
@@ -492,10 +502,13 @@ test_files:
492
502
  - spec/slack/slack_spec.rb
493
503
  - spec/slack/version_spec.rb
494
504
  - spec/slack/web/api/endpoints/api_spec.rb
505
+ - spec/slack/web/api/endpoints/apps_permissions_spec.rb
495
506
  - spec/slack/web/api/endpoints/bots_spec.rb
507
+ - spec/slack/web/api/endpoints/conversations_spec.rb
496
508
  - spec/slack/web/api/endpoints/custom_specs/auth_spec.rb
497
509
  - spec/slack/web/api/endpoints/custom_specs/channels_spec.rb
498
510
  - spec/slack/web/api/endpoints/custom_specs/chat_spec.rb
511
+ - spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
499
512
  - spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
500
513
  - spec/slack/web/api/endpoints/custom_specs/users_spec.rb
501
514
  - spec/slack/web/api/endpoints/dnd_spec.rb
@@ -503,6 +516,7 @@ test_files:
503
516
  - spec/slack/web/api/endpoints/files_comments_spec.rb
504
517
  - spec/slack/web/api/endpoints/files_spec.rb
505
518
  - spec/slack/web/api/endpoints/im_spec.rb
519
+ - spec/slack/web/api/endpoints/migration_spec.rb
506
520
  - spec/slack/web/api/endpoints/mpim_spec.rb
507
521
  - spec/slack/web/api/endpoints/oauth_spec.rb
508
522
  - spec/slack/web/api/endpoints/pins_spec.rb
@@ -515,12 +529,15 @@ test_files:
515
529
  - spec/slack/web/api/endpoints/team_spec.rb
516
530
  - spec/slack/web/api/endpoints/usergroups_spec.rb
517
531
  - spec/slack/web/api/endpoints/usergroups_users_spec.rb
532
+ - spec/slack/web/api/endpoints/users_admin_spec.rb
533
+ - spec/slack/web/api/endpoints/users_prefs_spec.rb
518
534
  - spec/slack/web/api/endpoints/users_profile_spec.rb
519
535
  - spec/slack/web/api/error_spec.rb
520
536
  - spec/slack/web/api/errors/slack_error_spec.rb
521
537
  - spec/slack/web/api/mixins/channels_spec.rb
522
538
  - spec/slack/web/api/mixins/groups_spec.rb
523
539
  - spec/slack/web/api/mixins/users_spec.rb
540
+ - spec/slack/web/api/pagination/cursor_spec.rb
524
541
  - spec/slack/web/client_spec.rb
525
542
  - spec/spec_helper.rb
526
543
  - spec/support/queue_with_timeout.rb