slack-ruby-client 0.11.0 → 2.7.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 (403) hide show
  1. checksums.yaml +5 -5
  2. data/.coveralls.yml +2 -0
  3. data/.github/FUNDING.yml +2 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/integration_test.yml +45 -0
  6. data/.github/workflows/lint.yml +14 -0
  7. data/.github/workflows/pr_lint.yml +21 -0
  8. data/.github/workflows/test.yml +56 -0
  9. data/.github/workflows/update_api.yml +81 -0
  10. data/.gitignore +7 -3
  11. data/.rubocop.yml +40 -2
  12. data/.rubocop_todo.yml +209 -55
  13. data/.ruby-version +1 -0
  14. data/CHANGELOG.md +257 -30
  15. data/CONTRIBUTING.md +44 -29
  16. data/Dangerfile +2 -0
  17. data/Gemfile +28 -6
  18. data/Gemfile.danger +6 -0
  19. data/LICENSE.md +1 -1
  20. data/README.md +473 -134
  21. data/RELEASING.md +2 -2
  22. data/Rakefile +2 -1
  23. data/SECURITY.md +9 -0
  24. data/UPGRADING.md +117 -3
  25. data/bin/commands/admin_analytics.rb +22 -0
  26. data/bin/commands/admin_apps.rb +57 -0
  27. data/bin/commands/admin_apps_activities.rb +32 -0
  28. data/bin/commands/admin_apps_approved.rb +24 -0
  29. data/bin/commands/admin_apps_config.rb +31 -0
  30. data/bin/commands/admin_apps_requests.rb +35 -0
  31. data/bin/commands/admin_apps_restricted.rb +24 -0
  32. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  33. data/bin/commands/admin_auth_policy.rb +45 -0
  34. data/bin/commands/admin_barriers.rb +53 -0
  35. data/bin/commands/admin_conversations.rb +260 -0
  36. data/bin/commands/admin_conversations_ekm.rb +23 -0
  37. data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
  38. data/bin/commands/admin_emoji.rb +60 -0
  39. data/bin/commands/admin_functions.rb +23 -0
  40. data/bin/commands/admin_functions_permissions.rb +31 -0
  41. data/bin/commands/admin_inviteRequests.rb +42 -0
  42. data/bin/commands/admin_inviteRequests_approved.rb +22 -0
  43. data/bin/commands/admin_inviteRequests_denied.rb +22 -0
  44. data/bin/commands/admin_roles.rb +46 -0
  45. data/bin/commands/admin_teams.rb +33 -0
  46. data/bin/commands/admin_teams_admins.rb +22 -0
  47. data/bin/commands/admin_teams_owners.rb +22 -0
  48. data/bin/commands/admin_teams_settings.rb +70 -0
  49. data/bin/commands/admin_usergroups.rb +54 -0
  50. data/bin/commands/admin_users.rb +106 -0
  51. data/bin/commands/admin_users_session.rb +84 -0
  52. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  53. data/bin/commands/admin_workflows.rb +42 -0
  54. data/bin/commands/admin_workflows_collaborators.rb +31 -0
  55. data/bin/commands/admin_workflows_permissions.rb +21 -0
  56. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  57. data/bin/commands/api.rb +15 -9
  58. data/bin/commands/apps.rb +21 -0
  59. data/bin/commands/apps_activities.rb +32 -0
  60. data/bin/commands/apps_auth_external.rb +32 -0
  61. data/bin/commands/apps_connections.rb +19 -0
  62. data/bin/commands/apps_datastore.rb +116 -0
  63. data/bin/commands/apps_event_authorizations.rb +22 -0
  64. data/bin/commands/apps_manifest.rb +58 -0
  65. data/bin/commands/assistant_search.rb +27 -0
  66. data/bin/commands/assistant_threads.rb +45 -0
  67. data/bin/commands/auth.rb +22 -15
  68. data/bin/commands/auth_teams.rb +22 -0
  69. data/bin/commands/bookmarks.rb +60 -0
  70. data/bin/commands/bots.rb +16 -8
  71. data/bin/commands/calls.rb +58 -0
  72. data/bin/commands/calls_participants.rb +31 -0
  73. data/bin/commands/canvases.rb +41 -0
  74. data/bin/commands/canvases_access.rb +34 -0
  75. data/bin/commands/canvases_sections.rb +21 -0
  76. data/bin/commands/chat.rb +158 -99
  77. data/bin/commands/chat_scheduledMessages.rb +25 -0
  78. data/bin/commands/conversations.rb +241 -157
  79. data/bin/commands/conversations_canvases.rb +22 -0
  80. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  81. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  82. data/bin/commands/dialog.rb +16 -9
  83. data/bin/commands/dnd.rb +47 -38
  84. data/bin/commands/emoji.rb +15 -7
  85. data/bin/commands/files.rb +113 -87
  86. data/bin/commands/files_comments.rb +16 -30
  87. data/bin/commands/files_remote.rb +84 -0
  88. data/bin/commands/functions.rb +31 -0
  89. data/bin/commands/functions_distributions_permissions.rb +61 -0
  90. data/bin/commands/functions_workflows_steps.rb +23 -0
  91. data/bin/commands/functions_workflows_steps_responses.rb +23 -0
  92. data/bin/commands/migration.rb +17 -9
  93. data/bin/commands/oauth.rb +19 -24
  94. data/bin/commands/oauth_v2.rb +35 -0
  95. data/bin/commands/openid_connect.rb +33 -0
  96. data/bin/commands/pins.rb +33 -30
  97. data/bin/commands/reactions.rb +53 -45
  98. data/bin/commands/reminders.rb +54 -41
  99. data/bin/commands/rtm.rb +16 -22
  100. data/bin/commands/search.rb +44 -33
  101. data/bin/commands/stars.rb +39 -29
  102. data/bin/commands/team.rb +50 -34
  103. data/bin/commands/team_billing.rb +19 -0
  104. data/bin/commands/team_externalTeams.rb +35 -0
  105. data/bin/commands/team_preferences.rb +19 -0
  106. data/bin/commands/team_profile.rb +15 -8
  107. data/bin/commands/tooling_tokens.rb +20 -0
  108. data/bin/commands/usergroups.rb +69 -53
  109. data/bin/commands/usergroups_users.rb +30 -19
  110. data/bin/commands/users.rb +114 -84
  111. data/bin/commands/users_admin.rb +29 -22
  112. data/bin/commands/users_discoverableContacts.rb +20 -0
  113. data/bin/commands/users_prefs.rb +14 -7
  114. data/bin/commands/users_profile.rb +27 -20
  115. data/bin/commands/views.rb +56 -0
  116. data/bin/commands/workflows.rb +44 -0
  117. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  118. data/bin/slack +50 -46
  119. data/examples/files_upload_v2/.env.example +1 -0
  120. data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
  121. data/examples/files_upload_v2/README.md +13 -0
  122. data/examples/files_upload_v2/files_upload_v2.rb +45 -0
  123. data/examples/hi_real_time_and_web/Gemfile +1 -0
  124. data/examples/hi_real_time_and_web/hi.rb +7 -3
  125. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  126. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
  127. data/examples/hi_web/Gemfile +1 -0
  128. data/examples/hi_web/hi.rb +1 -0
  129. data/examples/new_ticket/Gemfile +1 -0
  130. data/examples/new_ticket/new_ticket.rb +1 -0
  131. data/examples/oauth_v2/.env.example +4 -0
  132. data/examples/oauth_v2/Gemfile +7 -0
  133. data/examples/oauth_v2/README.md +33 -0
  134. data/examples/oauth_v2/oauth_v2.rb +60 -0
  135. data/lib/slack/config.rb +2 -2
  136. data/lib/slack/events/config.rb +32 -0
  137. data/lib/slack/events/request.rb +76 -0
  138. data/lib/slack/logger.rb +6 -5
  139. data/lib/slack/messages/formatting.rb +66 -1
  140. data/lib/slack/messages/message.rb +1 -4
  141. data/lib/slack/real_time/api/message.rb +6 -3
  142. data/lib/slack/real_time/api/message_id.rb +1 -0
  143. data/lib/slack/real_time/api/ping.rb +5 -2
  144. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  145. data/lib/slack/real_time/api/typing.rb +5 -2
  146. data/lib/slack/real_time/client.rb +117 -54
  147. data/lib/slack/real_time/concurrency/async.rb +142 -0
  148. data/lib/slack/real_time/concurrency.rb +2 -2
  149. data/lib/slack/real_time/config.rb +12 -13
  150. data/lib/slack/real_time/models/base.rb +1 -4
  151. data/lib/slack/real_time/models/bot.rb +1 -0
  152. data/lib/slack/real_time/models/channel.rb +5 -0
  153. data/lib/slack/real_time/models/im.rb +1 -0
  154. data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
  155. data/lib/slack/real_time/models/team.rb +1 -0
  156. data/lib/slack/real_time/models/user.rb +1 -0
  157. data/lib/slack/real_time/models.rb +3 -1
  158. data/lib/slack/real_time/socket.rb +49 -17
  159. data/lib/slack/real_time/stores/base.rb +28 -14
  160. data/lib/slack/real_time/stores/starter.rb +325 -287
  161. data/lib/slack/real_time/stores/store.rb +271 -186
  162. data/lib/slack/real_time/stores.rb +2 -7
  163. data/lib/slack/utils/security.rb +44 -0
  164. data/lib/slack/version.rb +2 -1
  165. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  166. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +53 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
  169. data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
  170. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
  171. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
  172. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  173. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  174. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  175. data/lib/slack/web/api/endpoints/admin_conversations.rb +397 -0
  176. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  177. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  178. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  179. data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
  180. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -0
  181. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  182. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  183. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  184. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  185. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  186. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  187. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  188. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  189. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  190. data/lib/slack/web/api/endpoints/admin_users.rb +167 -0
  191. data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
  192. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
  194. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
  195. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
  196. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  197. data/lib/slack/web/api/endpoints/api.rb +2 -3
  198. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  199. data/lib/slack/web/api/endpoints/apps_activities.rb +54 -0
  200. data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
  201. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  202. data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
  203. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
  205. data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
  206. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  207. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  208. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  209. data/lib/slack/web/api/endpoints/bookmarks.rb +90 -0
  210. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  211. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  212. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  213. data/lib/slack/web/api/endpoints/canvases.rb +54 -0
  214. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  215. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  216. data/lib/slack/web/api/endpoints/chat.rb +172 -87
  217. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  218. data/lib/slack/web/api/endpoints/conversations.rb +190 -64
  219. data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
  220. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  221. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  222. data/lib/slack/web/api/endpoints/dialog.rb +6 -10
  223. data/lib/slack/web/api/endpoints/dnd.rb +11 -5
  224. data/lib/slack/web/api/endpoints/emoji.rb +3 -0
  225. data/lib/slack/web/api/endpoints/files.rb +85 -36
  226. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  227. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  228. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  229. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
  230. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
  231. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
  232. data/lib/slack/web/api/endpoints/migration.rb +6 -3
  233. data/lib/slack/web/api/endpoints/oauth.rb +10 -32
  234. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  235. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  236. data/lib/slack/web/api/endpoints/pins.rb +11 -18
  237. data/lib/slack/web/api/endpoints/reactions.rb +31 -20
  238. data/lib/slack/web/api/endpoints/reminders.rb +25 -12
  239. data/lib/slack/web/api/endpoints/rtm.rb +4 -22
  240. data/lib/slack/web/api/endpoints/search.rb +33 -18
  241. data/lib/slack/web/api/endpoints/stars.rb +23 -10
  242. data/lib/slack/web/api/endpoints/team.rb +38 -7
  243. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  244. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  245. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  246. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  247. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  248. data/lib/slack/web/api/endpoints/usergroups.rb +44 -25
  249. data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
  250. data/lib/slack/web/api/endpoints/users.rb +57 -18
  251. data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
  252. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  253. data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
  254. data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
  255. data/lib/slack/web/api/endpoints/views.rb +86 -0
  256. data/lib/slack/web/api/endpoints/workflows.rb +63 -0
  257. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  258. data/lib/slack/web/api/endpoints.rb +136 -12
  259. data/lib/slack/web/api/error.rb +1 -0
  260. data/lib/slack/web/api/errors/server_error.rb +37 -0
  261. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  262. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  263. data/lib/slack/web/api/errors.rb +1396 -0
  264. data/lib/slack/web/api/helpers/files.rb +97 -0
  265. data/lib/slack/web/api/helpers.rb +13 -0
  266. data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
  267. data/lib/slack/web/api/mixins/ids.id.rb +4 -3
  268. data/lib/slack/web/api/mixins/users.id.rb +18 -4
  269. data/lib/slack/web/api/mixins/users.search.rb +3 -1
  270. data/lib/slack/web/api/mixins.rb +2 -2
  271. data/lib/slack/web/api/options.rb +26 -0
  272. data/lib/slack/web/api/patches/.gitkeep +0 -0
  273. data/lib/slack/web/api/templates/command.erb +19 -12
  274. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  275. data/lib/slack/web/api/templates/errors.erb +20 -0
  276. data/lib/slack/web/api/templates/method.erb +23 -3
  277. data/lib/slack/web/api/templates/method_spec.erb +40 -3
  278. data/lib/slack/web/client.rb +4 -1
  279. data/lib/slack/web/config.rb +9 -2
  280. data/lib/slack/web/faraday/connection.rb +11 -20
  281. data/lib/slack/web/faraday/options.rb +24 -0
  282. data/lib/slack/web/faraday/request.rb +6 -1
  283. data/lib/slack/web/faraday/response/raise_error.rb +14 -8
  284. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  285. data/lib/slack/web/pagination/cursor.rb +7 -7
  286. data/lib/slack-ruby-client.rb +18 -6
  287. data/lib/slack.rb +1 -0
  288. data/lib/slack_ruby_client.rb +1 -0
  289. data/lib/tasks/git.rake +1 -0
  290. data/lib/tasks/real_time.rake +51 -21
  291. data/lib/tasks/update.rake +1 -0
  292. data/lib/tasks/web.rake +43 -17
  293. data/slack-ruby-client.gemspec +10 -14
  294. metadata +191 -307
  295. data/.travis.yml +0 -30
  296. data/bin/commands/apps_permissions.rb +0 -22
  297. data/bin/commands/channels.rb +0 -175
  298. data/bin/commands/groups.rb +0 -172
  299. data/bin/commands/im.rb +0 -67
  300. data/bin/commands/mpim.rb +0 -63
  301. data/bin/commands.rb +0 -33
  302. data/examples/hi_real_time/hi.gif +0 -0
  303. data/examples/hi_real_time/hi.rb +0 -37
  304. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  305. data/examples/hi_real_time_async_celluloid/hi.rb +0 -36
  306. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  307. data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
  308. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  309. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
  310. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  311. data/lib/slack/web/api/endpoints/groups.rb +0 -255
  312. data/lib/slack/web/api/endpoints/im.rb +0 -113
  313. data/lib/slack/web/api/endpoints/mpim.rb +0 -98
  314. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  315. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  316. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  317. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  318. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  319. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  320. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  322. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  323. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +0 -17
  324. data/lib/slack/web/api/templates/commands.erb +0 -5
  325. data/screenshots/register-bot.png +0 -0
  326. data/spec/fixtures/slack/web/429_error.yml +0 -85
  327. data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
  328. data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
  329. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  330. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  331. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
  332. data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
  333. data/spec/fixtures/slack/web/rtm_start.yml +0 -104
  334. data/spec/fixtures/slack/web/users_info.yml +0 -130
  335. data/spec/fixtures/slack/web/users_list.yml +0 -72
  336. data/spec/integration/integration_spec.rb +0 -139
  337. data/spec/slack/config_spec.rb +0 -14
  338. data/spec/slack/messages/formatting_spec.rb +0 -43
  339. data/spec/slack/real_time/api/message_spec.rb +0 -15
  340. data/spec/slack/real_time/api/ping_spec.rb +0 -15
  341. data/spec/slack/real_time/api/typing_spec.rb +0 -15
  342. data/spec/slack/real_time/client_spec.rb +0 -425
  343. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
  344. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  345. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
  346. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
  347. data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
  348. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
  349. data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
  350. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
  351. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
  352. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
  353. data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
  354. data/spec/slack/real_time/rtm_start_spec.rb +0 -13
  355. data/spec/slack/real_time/store_spec.rb +0 -11
  356. data/spec/slack/slack_spec.rb +0 -58
  357. data/spec/slack/version_spec.rb +0 -7
  358. data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
  359. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  360. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
  361. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  362. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
  363. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  364. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
  365. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
  366. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  367. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
  368. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
  369. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
  370. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
  371. data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
  372. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  373. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
  374. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  375. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
  376. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
  377. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
  378. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
  379. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
  380. data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
  381. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
  382. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
  383. data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
  384. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
  385. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
  386. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
  387. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
  388. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
  389. data/spec/slack/web/api/error_spec.rb +0 -14
  390. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
  391. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  392. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
  393. data/spec/slack/web/api/mixins/users_spec.rb +0 -39
  394. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
  395. data/spec/slack/web/client_spec.rb +0 -174
  396. data/spec/spec_helper.rb +0 -14
  397. data/spec/support/queue_with_timeout.rb +0 -34
  398. data/spec/support/real_time/concurrency/mock.rb +0 -30
  399. data/spec/support/real_time/connected_client.rb +0 -21
  400. data/spec/support/real_time/event.rb +0 -11
  401. data/spec/support/token.rb +0 -10
  402. data/spec/support/vcr.rb +0 -9
  403. /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
@@ -1,255 +0,0 @@
1
- # This file was auto-generated by lib/tasks/web.rake
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Endpoints
7
- module Groups
8
- #
9
- # Archives a private channel.
10
- #
11
- # @option options [group] :channel
12
- # Private channel to archive.
13
- # @see https://api.slack.com/methods/groups.archive
14
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.archive.json
15
- def groups_archive(options = {})
16
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
17
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
18
- post('groups.archive', options)
19
- end
20
-
21
- #
22
- # Creates a private channel.
23
- #
24
- # @option options [Object] :name
25
- # Name of private channel to create.
26
- # @option options [Object] :validate
27
- # Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
28
- # @see https://api.slack.com/methods/groups.create
29
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.create.json
30
- def groups_create(options = {})
31
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
32
- post('groups.create', options)
33
- end
34
-
35
- #
36
- # Clones and archives a private channel.
37
- #
38
- # @option options [group] :channel
39
- # Private channel to clone and archive.
40
- # @see https://api.slack.com/methods/groups.createChild
41
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.createChild.json
42
- def groups_createChild(options = {})
43
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
44
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
45
- post('groups.createChild', options)
46
- end
47
-
48
- #
49
- # Fetches history of messages and events from a private channel.
50
- #
51
- # @option options [group] :channel
52
- # Private channel to fetch history for.
53
- # @option options [Object] :inclusive
54
- # Include messages with latest or oldest timestamp in results.
55
- # @option options [timestamp] :latest
56
- # End of time range of messages to include in results.
57
- # @option options [timestamp] :oldest
58
- # Start of time range of messages to include in results.
59
- # @option options [Object] :unreads
60
- # Include unread_count_display in the output?.
61
- # @see https://api.slack.com/methods/groups.history
62
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.history.json
63
- def groups_history(options = {})
64
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
65
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
66
- post('groups.history', options)
67
- end
68
-
69
- #
70
- # Gets information about a private channel.
71
- #
72
- # @option options [group] :channel
73
- # Private channel to get info on.
74
- # @option options [Object] :include_locale
75
- # Set this to true to receive the locale for this group. Defaults to false.
76
- # @see https://api.slack.com/methods/groups.info
77
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.info.json
78
- def groups_info(options = {})
79
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
80
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
81
- post('groups.info', options)
82
- end
83
-
84
- #
85
- # Invites a user to a private channel.
86
- #
87
- # @option options [group] :channel
88
- # Private channel to invite user to.
89
- # @option options [user] :user
90
- # User to invite.
91
- # @see https://api.slack.com/methods/groups.invite
92
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.invite.json
93
- def groups_invite(options = {})
94
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
95
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
96
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
97
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
98
- post('groups.invite', options)
99
- end
100
-
101
- #
102
- # Removes a user from a private channel.
103
- #
104
- # @option options [group] :channel
105
- # Private channel to remove user from.
106
- # @option options [user] :user
107
- # User to remove from private channel.
108
- # @see https://api.slack.com/methods/groups.kick
109
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.kick.json
110
- def groups_kick(options = {})
111
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
112
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
113
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
114
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
115
- post('groups.kick', options)
116
- end
117
-
118
- #
119
- # Leaves a private channel.
120
- #
121
- # @option options [group] :channel
122
- # Private channel to leave.
123
- # @see https://api.slack.com/methods/groups.leave
124
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.leave.json
125
- def groups_leave(options = {})
126
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
127
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
128
- post('groups.leave', options)
129
- end
130
-
131
- #
132
- # Lists private channels that the calling user has access to.
133
- #
134
- # @option options [Object] :exclude_archived
135
- # Don't return archived private channels.
136
- # @option options [Object] :exclude_members
137
- # Exclude the members from each group.
138
- # @see https://api.slack.com/methods/groups.list
139
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.list.json
140
- def groups_list(options = {})
141
- post('groups.list', options)
142
- end
143
-
144
- #
145
- # Sets the read cursor in a private channel.
146
- #
147
- # @option options [group] :channel
148
- # Private channel to set reading cursor in.
149
- # @option options [timestamp] :ts
150
- # Timestamp of the most recently seen message.
151
- # @see https://api.slack.com/methods/groups.mark
152
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.mark.json
153
- def groups_mark(options = {})
154
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
155
- throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
156
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
157
- post('groups.mark', options)
158
- end
159
-
160
- #
161
- # Opens a private channel.
162
- #
163
- # @option options [group] :channel
164
- # Private channel to open.
165
- # @see https://api.slack.com/methods/groups.open
166
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.open.json
167
- def groups_open(options = {})
168
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
169
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
170
- post('groups.open', options)
171
- end
172
-
173
- #
174
- # Renames a private channel.
175
- #
176
- # @option options [group] :channel
177
- # Private channel to rename.
178
- # @option options [Object] :name
179
- # New name for private channel.
180
- # @option options [Object] :validate
181
- # Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
182
- # @see https://api.slack.com/methods/groups.rename
183
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.rename.json
184
- def groups_rename(options = {})
185
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
186
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
187
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
188
- post('groups.rename', options)
189
- end
190
-
191
- #
192
- # Retrieve a thread of messages posted to a private channel
193
- #
194
- # @option options [group] :channel
195
- # Private channel to fetch thread from.
196
- # @option options [Object] :thread_ts
197
- # Unique identifier of a thread's parent message.
198
- # @see https://api.slack.com/methods/groups.replies
199
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.replies.json
200
- def groups_replies(options = {})
201
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
202
- throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
203
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
204
- post('groups.replies', options)
205
- end
206
-
207
- #
208
- # Sets the purpose for a private channel.
209
- #
210
- # @option options [group] :channel
211
- # Private channel to set the purpose of.
212
- # @option options [Object] :purpose
213
- # The new purpose.
214
- # @see https://api.slack.com/methods/groups.setPurpose
215
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setPurpose.json
216
- def groups_setPurpose(options = {})
217
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
218
- throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
219
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
220
- post('groups.setPurpose', options)
221
- end
222
-
223
- #
224
- # Sets the topic for a private channel.
225
- #
226
- # @option options [group] :channel
227
- # Private channel to set the topic of.
228
- # @option options [Object] :topic
229
- # The new topic.
230
- # @see https://api.slack.com/methods/groups.setTopic
231
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setTopic.json
232
- def groups_setTopic(options = {})
233
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
234
- throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
235
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
236
- post('groups.setTopic', options)
237
- end
238
-
239
- #
240
- # Unarchives a private channel.
241
- #
242
- # @option options [group] :channel
243
- # Private channel to unarchive.
244
- # @see https://api.slack.com/methods/groups.unarchive
245
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.unarchive.json
246
- def groups_unarchive(options = {})
247
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
248
- options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
249
- post('groups.unarchive', options)
250
- end
251
- end
252
- end
253
- end
254
- end
255
- end
@@ -1,113 +0,0 @@
1
- # This file was auto-generated by lib/tasks/web.rake
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Endpoints
7
- module Im
8
- #
9
- # Close a direct message channel.
10
- #
11
- # @option options [im] :channel
12
- # Direct message channel to close.
13
- # @see https://api.slack.com/methods/im.close
14
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.close.json
15
- def im_close(options = {})
16
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
17
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
18
- post('im.close', options)
19
- end
20
-
21
- #
22
- # Fetches history of messages and events from direct message channel.
23
- #
24
- # @option options [im] :channel
25
- # Direct message channel to fetch history for.
26
- # @option options [Object] :inclusive
27
- # Include messages with latest or oldest timestamp in results.
28
- # @option options [timestamp] :latest
29
- # End of time range of messages to include in results.
30
- # @option options [timestamp] :oldest
31
- # Start of time range of messages to include in results.
32
- # @option options [Object] :unreads
33
- # Include unread_count_display in the output?.
34
- # @see https://api.slack.com/methods/im.history
35
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.history.json
36
- def im_history(options = {})
37
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
38
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
39
- post('im.history', options)
40
- end
41
-
42
- #
43
- # Lists direct message channels for the calling user.
44
- #
45
- # @option options [Object] :cursor
46
- # 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.
47
- # @option options [Object] :limit
48
- # 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.
49
- # @see https://api.slack.com/methods/im.list
50
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.list.json
51
- def im_list(options = {})
52
- if block_given?
53
- Pagination::Cursor.new(self, :im_list, options).each do |page|
54
- yield page
55
- end
56
- else
57
- post('im.list', options)
58
- end
59
- end
60
-
61
- #
62
- # Sets the read cursor in a direct message channel.
63
- #
64
- # @option options [im] :channel
65
- # Direct message channel to set reading cursor in.
66
- # @option options [timestamp] :ts
67
- # Timestamp of the most recently seen message.
68
- # @see https://api.slack.com/methods/im.mark
69
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.mark.json
70
- def im_mark(options = {})
71
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
72
- throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
73
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
74
- post('im.mark', options)
75
- end
76
-
77
- #
78
- # Opens a direct message channel.
79
- #
80
- # @option options [user] :user
81
- # User to open a direct message channel with.
82
- # @option options [Object] :include_locale
83
- # Set this to true to receive the locale for this im. Defaults to false.
84
- # @option options [Object] :return_im
85
- # Boolean, indicates you want the full IM channel definition in the response.
86
- # @see https://api.slack.com/methods/im.open
87
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.open.json
88
- def im_open(options = {})
89
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
90
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
91
- post('im.open', options)
92
- end
93
-
94
- #
95
- # Retrieve a thread of messages posted to a direct message conversation
96
- #
97
- # @option options [im] :channel
98
- # Direct message channel to fetch thread from.
99
- # @option options [Object] :thread_ts
100
- # Unique identifier of a thread's parent message.
101
- # @see https://api.slack.com/methods/im.replies
102
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.replies.json
103
- def im_replies(options = {})
104
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
105
- throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
106
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
107
- post('im.replies', options)
108
- end
109
- end
110
- end
111
- end
112
- end
113
- end
@@ -1,98 +0,0 @@
1
- # This file was auto-generated by lib/tasks/web.rake
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Endpoints
7
- module Mpim
8
- #
9
- # Closes a multiparty direct message channel.
10
- #
11
- # @option options [channel] :channel
12
- # MPIM to close.
13
- # @see https://api.slack.com/methods/mpim.close
14
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.close.json
15
- def mpim_close(options = {})
16
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
17
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
18
- post('mpim.close', options)
19
- end
20
-
21
- #
22
- # Fetches history of messages and events from a multiparty direct message.
23
- #
24
- # @option options [channel] :channel
25
- # Multiparty direct message to fetch history for.
26
- # @option options [Object] :inclusive
27
- # Include messages with latest or oldest timestamp in results.
28
- # @option options [timestamp] :latest
29
- # End of time range of messages to include in results.
30
- # @option options [timestamp] :oldest
31
- # Start of time range of messages to include in results.
32
- # @option options [Object] :unreads
33
- # Include unread_count_display in the output?.
34
- # @see https://api.slack.com/methods/mpim.history
35
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.history.json
36
- def mpim_history(options = {})
37
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
38
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
39
- post('mpim.history', options)
40
- end
41
-
42
- #
43
- # Lists multiparty direct message channels for the calling user.
44
- #
45
- # @see https://api.slack.com/methods/mpim.list
46
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.list.json
47
- def mpim_list(options = {})
48
- post('mpim.list', options)
49
- end
50
-
51
- #
52
- # Sets the read cursor in a multiparty direct message channel.
53
- #
54
- # @option options [channel] :channel
55
- # multiparty direct message channel to set reading cursor in.
56
- # @option options [timestamp] :ts
57
- # Timestamp of the most recently seen message.
58
- # @see https://api.slack.com/methods/mpim.mark
59
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.mark.json
60
- def mpim_mark(options = {})
61
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
62
- throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
63
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
64
- post('mpim.mark', options)
65
- end
66
-
67
- #
68
- # This method opens a multiparty direct message.
69
- #
70
- # @option options [Object] :users
71
- # Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.
72
- # @see https://api.slack.com/methods/mpim.open
73
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.open.json
74
- def mpim_open(options = {})
75
- throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
76
- post('mpim.open', options)
77
- end
78
-
79
- #
80
- # Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.
81
- #
82
- # @option options [channel] :channel
83
- # Multiparty direct message channel to fetch thread from.
84
- # @option options [Object] :thread_ts
85
- # Unique identifier of a thread's parent message.
86
- # @see https://api.slack.com/methods/mpim.replies
87
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.replies.json
88
- def mpim_replies(options = {})
89
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
90
- throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
91
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
92
- post('mpim.replies', options)
93
- end
94
- end
95
- end
96
- end
97
- end
98
- end
@@ -1,23 +0,0 @@
1
- # This file was auto-generated by lib/slack/web/api/tasks/generate.rake
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Endpoints
7
- module Presence
8
- #
9
- # Manually set user presence.
10
- #
11
- # @option options [Object] :presence
12
- # Either `active` or `away`.
13
- # @see https://api.slack.com/methods/presence.set
14
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/presence.set.json
15
- def presence_set(options = {})
16
- throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
17
- post('presence.set', options)
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,20 +0,0 @@
1
- {
2
- "mixin": true,
3
- "group": "channels",
4
- "name": "channels.id",
5
- "desc": "This method returns the ID of a team channel.",
6
- "args": {
7
- "channel": {
8
- "required": true,
9
- "example": "#general",
10
- "desc": "Channel to get ID for, prefixed with #.",
11
- "type": "channel"
12
- }
13
- },
14
- "errors": {
15
- "channel_not_found": "Value passed for channel was invalid.",
16
- "not_authed": "No authentication token provided.",
17
- "invalid_auth": "Invalid authentication token.",
18
- "account_inactive": "Authentication token is for a deleted user or team."
19
- }
20
- }
@@ -1,26 +0,0 @@
1
- require_relative 'ids.id'
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Mixins
7
- module Channels
8
- include Ids
9
- #
10
- # This method returns a channel ID given a channel name.
11
- #
12
- # @option options [channel] :channel
13
- # Channel to get ID for, prefixed with #.
14
- def channels_id(options = {})
15
- name = options[:channel]
16
- throw ArgumentError.new('Required arguments :channel missing') if name.nil?
17
-
18
- id_for(:channel, name, '#', :channels, 'channel_not_found') do
19
- channels_list
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,20 +0,0 @@
1
- {
2
- "mixin": true,
3
- "group": "groups",
4
- "name": "groups.id",
5
- "desc": "This method returns the ID of a group.",
6
- "args": {
7
- "channel": {
8
- "required": true,
9
- "example": "#general",
10
- "desc": "Group channel to get ID for, prefixed with #.",
11
- "type": "group"
12
- }
13
- },
14
- "errors": {
15
- "channel_not_found": "Value passed for group was invalid.",
16
- "not_authed": "No authentication token provided.",
17
- "invalid_auth": "Invalid authentication token.",
18
- "account_inactive": "Authentication token is for a deleted user or team."
19
- }
20
- }
@@ -1,26 +0,0 @@
1
- require_relative 'ids.id'
2
-
3
- module Slack
4
- module Web
5
- module Api
6
- module Mixins
7
- module Groups
8
- include Ids
9
- #
10
- # This method returns a group ID given a group name.
11
- #
12
- # @option options [channel] :channel
13
- # Group channel to get ID for, prefixed with #.
14
- def groups_id(options = {})
15
- name = options[:channel]
16
- throw ArgumentError.new('Required arguments :channel missing') if name.nil?
17
-
18
- id_for(:group, name, '#', :groups, 'channel_not_found') do
19
- groups_list
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,13 +0,0 @@
1
- diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
2
- index 1f7a8d7..2ec4bed 100644
3
- --- a/lib/slack/web/api/endpoints/chat.rb
4
- +++ b/lib/slack/web/api/endpoints/chat.rb
5
- @@ -49,7 +49,7 @@ module Slack
6
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.postMessage.json
7
- def chat_postMessage(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
- post('chat.postMessage', options)
12
- end
13
-
@@ -1,17 +0,0 @@
1
- diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
2
- index 1f7a8d7..89b1562 100644
3
- --- a/lib/slack/web/api/endpoints/chat.rb
4
- +++ b/lib/slack/web/api/endpoints/chat.rb
5
- @@ -50,6 +50,12 @@ module Slack
6
- def chat_postMessage(options = {})
7
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
8
- throw ArgumentError.new('Required arguments :text or :attachments missing') if options[:text].nil? && options[:attachments].nil?
9
- + # attachments must be passed as an encoded JSON string
10
- + if options.key?(:attachments)
11
- + attachments = options[:attachments]
12
- + attachments = JSON.dump(attachments) unless attachments.is_a?(String)
13
- + options = options.merge(attachments: attachments)
14
- + end
15
- post('chat.postMessage', options)
16
- end
17
-
@@ -1,21 +0,0 @@
1
- diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
2
- index 5186416..490bc91 100644
3
- --- a/lib/slack/web/api/endpoints/chat.rb
4
- +++ b/lib/slack/web/api/endpoints/chat.rb
5
- @@ -154,9 +154,15 @@ module Slack
6
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.update.json
7
- def chat_update(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 :ts missing') if options[:ts].nil?
12
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
13
- + # attachments must be passed as an encoded JSON string
14
- + if options.key?(:attachments)
15
- + attachments = options[:attachments]
16
- + attachments = JSON.dump(attachments) unless attachments.is_a?(String)
17
- + options = options.merge(attachments: attachments)
18
- + end
19
- post('chat.update', options)
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
2
- index 846126e..0c254c6 100644
3
- --- a/lib/slack/web/api/endpoints/chat.rb
4
- +++ b/lib/slack/web/api/endpoints/chat.rb
5
- @@ -62,6 +62,12 @@ module Slack
6
- throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
7
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
8
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
9
- + # attachments must be passed as an encoded JSON string
10
- + if options.key?(:attachments)
11
- + attachments = options[:attachments]
12
- + attachments = JSON.dump(attachments) unless attachments.is_a?(String)
13
- + options = options.merge(attachments: attachments)
14
- + end
15
- post('chat.postEphemeral', options)
16
- end
17
-