slack-ruby-client 2.7.0 → 3.0.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 (198) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +3 -10
  3. data/.rubocop_todo.yml +45 -67
  4. data/CHANGELOG.md +7 -0
  5. data/Gemfile +0 -9
  6. data/LICENSE.md +1 -1
  7. data/README.md +16 -219
  8. data/Rakefile +0 -1
  9. data/UPGRADING.md +4 -0
  10. data/bin/commands/admin_analytics.rb +1 -1
  11. data/bin/commands/admin_apps.rb +4 -4
  12. data/bin/commands/admin_apps_activities.rb +7 -7
  13. data/bin/commands/admin_apps_approved.rb +4 -4
  14. data/bin/commands/admin_apps_config.rb +3 -1
  15. data/bin/commands/admin_apps_requests.rb +5 -5
  16. data/bin/commands/admin_apps_restricted.rb +4 -4
  17. data/bin/commands/admin_audit_anomaly_allow.rb +6 -6
  18. data/bin/commands/admin_auth_policy.rb +5 -5
  19. data/bin/commands/admin_barriers.rb +3 -3
  20. data/bin/commands/admin_conversations.rb +15 -15
  21. data/bin/commands/admin_conversations_ekm.rb +2 -2
  22. data/bin/commands/admin_conversations_restrictAccess.rb +5 -5
  23. data/bin/commands/admin_emoji.rb +5 -5
  24. data/bin/commands/admin_functions.rb +1 -1
  25. data/bin/commands/admin_inviteRequests.rb +3 -3
  26. data/bin/commands/admin_inviteRequests_approved.rb +1 -1
  27. data/bin/commands/admin_inviteRequests_denied.rb +1 -1
  28. data/bin/commands/admin_roles.rb +3 -3
  29. data/bin/commands/admin_teams.rb +3 -3
  30. data/bin/commands/admin_teams_admins.rb +2 -2
  31. data/bin/commands/admin_teams_owners.rb +2 -2
  32. data/bin/commands/admin_teams_settings.rb +5 -5
  33. data/bin/commands/admin_usergroups.rb +4 -4
  34. data/bin/commands/admin_users.rb +12 -11
  35. data/bin/commands/admin_users_session.rb +6 -5
  36. data/bin/commands/admin_users_unsupportedVersions.rb +1 -1
  37. data/bin/commands/admin_workflows.rb +6 -6
  38. data/bin/commands/admin_workflows_collaborators.rb +2 -2
  39. data/bin/commands/apps_activities.rb +7 -7
  40. data/bin/commands/apps_auth_external.rb +1 -1
  41. data/bin/commands/apps_datastore.rb +12 -12
  42. data/bin/commands/apps_event_authorizations.rb +3 -3
  43. data/bin/commands/apps_manifest.rb +1 -1
  44. data/bin/commands/assistant_search.rb +18 -2
  45. data/bin/commands/assistant_threads.rb +2 -2
  46. data/bin/commands/auth.rb +1 -1
  47. data/bin/commands/auth_teams.rb +1 -1
  48. data/bin/commands/bookmarks.rb +6 -6
  49. data/bin/commands/calls.rb +5 -5
  50. data/bin/commands/canvases.rb +2 -2
  51. data/bin/commands/canvases_access.rb +1 -1
  52. data/bin/commands/chat.rb +23 -24
  53. data/bin/commands/conversations.rb +8 -8
  54. data/bin/commands/conversations_canvases.rb +1 -1
  55. data/bin/commands/conversations_externalInvitePermissions.rb +1 -1
  56. data/bin/commands/conversations_requestSharedInvite.rb +4 -4
  57. data/bin/commands/dnd.rb +1 -1
  58. data/bin/commands/files.rb +5 -5
  59. data/bin/commands/files_remote.rb +1 -1
  60. data/bin/commands/functions.rb +1 -1
  61. data/bin/commands/functions_distributions_permissions.rb +15 -15
  62. data/bin/commands/functions_workflows_steps.rb +2 -2
  63. data/bin/commands/functions_workflows_steps_responses.rb +2 -2
  64. data/bin/commands/migration.rb +2 -2
  65. data/bin/commands/oauth_v2.rb +1 -1
  66. data/bin/commands/openid_connect.rb +1 -1
  67. data/bin/commands/reactions.rb +3 -3
  68. data/bin/commands/reminders.rb +2 -2
  69. data/bin/commands/rtm.rb +15 -0
  70. data/bin/commands/search.rb +4 -4
  71. data/bin/commands/slackLists.rb +37 -0
  72. data/bin/commands/slackLists_access.rb +34 -0
  73. data/bin/commands/slackLists_download.rb +31 -0
  74. data/bin/commands/slackLists_items.rb +76 -0
  75. data/bin/commands/team.rb +1 -1
  76. data/bin/commands/team_externalTeams.rb +4 -4
  77. data/bin/commands/usergroups.rb +10 -10
  78. data/bin/commands/usergroups_users.rb +5 -5
  79. data/bin/commands/users.rb +1 -1
  80. data/bin/commands/users_discoverableContacts.rb +1 -1
  81. data/bin/commands/views.rb +4 -4
  82. data/bin/commands/workflows_featured.rb +50 -0
  83. data/bin/commands/workflows_triggers_permissions.rb +7 -7
  84. data/lib/slack/version.rb +1 -1
  85. data/lib/slack/web/api/endpoints/admin_analytics.rb +2 -2
  86. data/lib/slack/web/api/endpoints/admin_apps.rb +8 -8
  87. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +14 -14
  88. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +5 -7
  89. data/lib/slack/web/api/endpoints/admin_apps_config.rb +6 -3
  90. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +7 -9
  91. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +5 -7
  92. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +5 -5
  93. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +14 -14
  94. data/lib/slack/web/api/endpoints/admin_barriers.rb +8 -8
  95. data/lib/slack/web/api/endpoints/admin_conversations.rb +27 -28
  96. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  97. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +11 -12
  98. data/lib/slack/web/api/endpoints/admin_emoji.rb +5 -5
  99. data/lib/slack/web/api/endpoints/admin_functions.rb +2 -2
  100. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +6 -6
  101. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +2 -2
  102. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  103. data/lib/slack/web/api/endpoints/admin_roles.rb +8 -8
  104. data/lib/slack/web/api/endpoints/admin_teams.rb +3 -3
  105. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +3 -4
  106. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -3
  107. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +12 -13
  108. data/lib/slack/web/api/endpoints/admin_usergroups.rb +11 -11
  109. data/lib/slack/web/api/endpoints/admin_users.rb +27 -25
  110. data/lib/slack/web/api/endpoints/admin_users_session.rb +12 -9
  111. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +2 -2
  112. data/lib/slack/web/api/endpoints/admin_workflows.rb +12 -12
  113. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +6 -6
  114. data/lib/slack/web/api/endpoints/apps_activities.rb +14 -14
  115. data/lib/slack/web/api/endpoints/apps_auth_external.rb +2 -2
  116. data/lib/slack/web/api/endpoints/apps_datastore.rb +8 -15
  117. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +0 -3
  118. data/lib/slack/web/api/endpoints/apps_manifest.rb +5 -5
  119. data/lib/slack/web/api/endpoints/assistant_search.rb +28 -3
  120. data/lib/slack/web/api/endpoints/assistant_threads.rb +6 -6
  121. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  122. data/lib/slack/web/api/endpoints/auth_teams.rb +2 -2
  123. data/lib/slack/web/api/endpoints/bookmarks.rb +14 -14
  124. data/lib/slack/web/api/endpoints/calls.rb +10 -10
  125. data/lib/slack/web/api/endpoints/canvases.rb +4 -4
  126. data/lib/slack/web/api/endpoints/canvases_access.rb +3 -3
  127. data/lib/slack/web/api/endpoints/chat.rb +53 -55
  128. data/lib/slack/web/api/endpoints/conversations.rb +16 -16
  129. data/lib/slack/web/api/endpoints/conversations_canvases.rb +1 -1
  130. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +3 -3
  131. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +8 -8
  132. data/lib/slack/web/api/endpoints/dnd.rb +2 -2
  133. data/lib/slack/web/api/endpoints/files.rb +11 -11
  134. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  135. data/lib/slack/web/api/endpoints/functions.rb +3 -3
  136. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +24 -24
  137. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +4 -4
  138. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +4 -4
  139. data/lib/slack/web/api/endpoints/migration.rb +1 -1
  140. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  141. data/lib/slack/web/api/endpoints/openid_connect.rb +2 -2
  142. data/lib/slack/web/api/endpoints/reactions.rb +6 -6
  143. data/lib/slack/web/api/endpoints/reminders.rb +4 -4
  144. data/lib/slack/web/api/endpoints/rtm.rb +23 -0
  145. data/lib/slack/web/api/endpoints/search.rb +8 -8
  146. data/lib/slack/web/api/endpoints/slackLists.rb +52 -0
  147. data/lib/slack/web/api/endpoints/slackLists_access.rb +47 -0
  148. data/lib/slack/web/api/endpoints/slackLists_download.rb +40 -0
  149. data/lib/slack/web/api/endpoints/slackLists_items.rb +116 -0
  150. data/lib/slack/web/api/endpoints/team.rb +3 -3
  151. data/lib/slack/web/api/endpoints/team_externalTeams.rb +8 -8
  152. data/lib/slack/web/api/endpoints/usergroups.rb +18 -18
  153. data/lib/slack/web/api/endpoints/usergroups_users.rb +8 -8
  154. data/lib/slack/web/api/endpoints/users.rb +2 -2
  155. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +0 -1
  156. data/lib/slack/web/api/endpoints/views.rb +9 -9
  157. data/lib/slack/web/api/endpoints/workflows_featured.rb +69 -0
  158. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +15 -15
  159. data/lib/slack/web/api/endpoints.rb +10 -2
  160. data/lib/slack/web/api/errors.rb +88 -46
  161. data/lib/slack/web/faraday/response/raise_error.rb +20 -2
  162. data/lib/slack-ruby-client.rb +0 -12
  163. data/lib/tasks/update.rake +0 -1
  164. data/lib/tasks/web.rake +0 -4
  165. metadata +12 -35
  166. data/.github/workflows/integration_test.yml +0 -45
  167. data/bin/commands/workflows.rb +0 -44
  168. data/examples/hi_real_time_and_web/Gemfile +0 -6
  169. data/examples/hi_real_time_and_web/hi.gif +0 -0
  170. data/examples/hi_real_time_and_web/hi.rb +0 -28
  171. data/examples/hi_real_time_async_async/Gemfile +0 -7
  172. data/examples/hi_real_time_async_async/Procfile +0 -2
  173. data/examples/hi_real_time_async_async/hi.rb +0 -41
  174. data/lib/slack/real_time/api/message.rb +0 -23
  175. data/lib/slack/real_time/api/message_id.rb +0 -15
  176. data/lib/slack/real_time/api/ping.rb +0 -19
  177. data/lib/slack/real_time/api/schema/event.json +0 -23
  178. data/lib/slack/real_time/api/templates/event_handler.erb +0 -8
  179. data/lib/slack/real_time/api/typing.rb +0 -20
  180. data/lib/slack/real_time/client.rb +0 -271
  181. data/lib/slack/real_time/concurrency/async.rb +0 -142
  182. data/lib/slack/real_time/concurrency.rb +0 -8
  183. data/lib/slack/real_time/config.rb +0 -62
  184. data/lib/slack/real_time/models/base.rb +0 -11
  185. data/lib/slack/real_time/models/bot.rb +0 -9
  186. data/lib/slack/real_time/models/channel.rb +0 -13
  187. data/lib/slack/real_time/models/im.rb +0 -9
  188. data/lib/slack/real_time/models/mpim.rb +0 -9
  189. data/lib/slack/real_time/models/team.rb +0 -9
  190. data/lib/slack/real_time/models/user.rb +0 -9
  191. data/lib/slack/real_time/models.rb +0 -9
  192. data/lib/slack/real_time/socket.rb +0 -118
  193. data/lib/slack/real_time/stores/base.rb +0 -47
  194. data/lib/slack/real_time/stores/starter.rb +0 -449
  195. data/lib/slack/real_time/stores/store.rb +0 -624
  196. data/lib/slack/real_time/stores.rb +0 -5
  197. data/lib/slack/web/api/endpoints/workflows.rb +0 -63
  198. data/lib/tasks/real_time.rake +0 -81
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
- # This file was auto-generated by lib/tasks/web.rake
3
-
4
- module Slack
5
- module Web
6
- module Api
7
- module Endpoints
8
- module Workflows
9
- #
10
- # Indicate that an app's step in a workflow completed execution.
11
- #
12
- # @option options [string] :workflow_step_execute_id
13
- # Context identifier that maps to the correct workflow step execution.
14
- # @option options [object] :outputs
15
- # Key-value object of outputs from your step. Keys of this object reflect the configured key properties of your outputs array from your workflow_step object.
16
- # @see https://api.slack.com/methods/workflows.stepCompleted
17
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepCompleted.json
18
- def workflows_stepCompleted(options = {})
19
- raise ArgumentError, 'Required arguments :workflow_step_execute_id missing' if options[:workflow_step_execute_id].nil?
20
- post('workflows.stepCompleted', options)
21
- end
22
-
23
- #
24
- # Indicate that an app's step in a workflow failed to execute.
25
- #
26
- # @option options [object] :error
27
- # A JSON-based object with a message property that should contain a human readable error message.
28
- # @option options [string] :workflow_step_execute_id
29
- # Context identifier that maps to the correct workflow step execution.
30
- # @see https://api.slack.com/methods/workflows.stepFailed
31
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepFailed.json
32
- def workflows_stepFailed(options = {})
33
- raise ArgumentError, 'Required arguments :error missing' if options[:error].nil?
34
- raise ArgumentError, 'Required arguments :workflow_step_execute_id missing' if options[:workflow_step_execute_id].nil?
35
- options = encode_options_as_json(options, %i[error])
36
- post('workflows.stepFailed', options)
37
- end
38
-
39
- #
40
- # Update the configuration for a workflow step.
41
- #
42
- # @option options [string] :workflow_step_edit_id
43
- # A context identifier provided with view_submission payloads used to call back to workflows.updateStep.
44
- # @option options [object] :inputs
45
- # A JSON key-value map of inputs required from a user during configuration. This is the data your app expects to receive when the workflow step starts. Please note: the embedded variable format is set and replaced by the workflow system. You cannot create custom variables that will be replaced at runtime. Read more about variables in workflow steps here.
46
- # @option options [array] :outputs
47
- # An JSON array of output objects used during step execution. This is the data your app agrees to provide when your workflow step was executed.
48
- # @option options [string] :step_image_url
49
- # An optional field that can be used to override app image that is shown in the Workflow Builder.
50
- # @option options [string] :step_name
51
- # An optional field that can be used to override the step name that is shown in the Workflow Builder.
52
- # @see https://api.slack.com/methods/workflows.updateStep
53
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.updateStep.json
54
- def workflows_updateStep(options = {})
55
- raise ArgumentError, 'Required arguments :workflow_step_edit_id missing' if options[:workflow_step_edit_id].nil?
56
- options = encode_options_as_json(options, %i[inputs outputs])
57
- post('workflows.updateStep', options)
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json-schema'
4
- require 'erubis'
5
-
6
- # largely from https://github.com/aki017/slack-ruby-gem
7
- namespace :slack do
8
- namespace :real_time do
9
- namespace :api do
10
- REAL_TIME_EVENTS_MARKER = '### RealTime Events'
11
-
12
- desc 'Update Real Time API.'
13
- task update: [:git_update] do
14
- event_schema = JSON.parse(File.read('lib/slack/real_time/api/schema/event.json'))
15
- dirglob = 'lib/slack/web/api/slack-api-ref/events/**/*.json'
16
- events = Dir.glob(dirglob).each_with_object({}) do |path, result|
17
- name = File.basename(path, '.json')
18
- parsed = JSON.parse(File.read(path))
19
- JSON::Validator.validate(event_schema, parsed, insert_defaults: true)
20
- next if name == 'message'
21
-
22
- result[name] = parsed
23
- end
24
-
25
- hook_template = Erubis::Eruby.new(File.read('lib/slack/real_time/api/templates/event_handler.erb'))
26
- Dir.glob('lib/slack/real_time/stores/**/*.rb').each do |store_file|
27
- next if File.basename(store_file) == 'base.rb'
28
-
29
- STDOUT.write "#{File.basename(store_file)}: "
30
-
31
- store_file_contents = File.read(store_file)
32
-
33
- unless store_file_contents.include?(REAL_TIME_EVENTS_MARKER)
34
- puts "missing '#{REAL_TIME_EVENTS_MARKER}' line; skipping."
35
- next
36
- end
37
-
38
- # Extract current hook implementations from the store class
39
- hooks = {}
40
- hook_matcher = /
41
- (?:^[[:blank:]]*\R)+ # At least one blank line
42
- (?:^[[:blank:]]*\#.*\R)* # Optional preceding comments
43
- (?<hook> # on :event do |data|
44
- ^(?<padding>[[:blank:]]+)\#\ *on\ :(?<event>\w+)\ do\ \|[\w, ]+\|\ *\R # Commented hook
45
- (?>^\k<padding>\#.*\R)* # Extra comments
46
- |
47
- ^(?<padding>[[:blank:]]+)on\ :(?<event>\w+)\ do\ \|[\w, ]+\|\ *\R # Active hook
48
- [\s\S]*? # Inside block
49
- (?>^\k<padding>end[[:blank:]]*\R) # End of block
50
- )
51
- /x
52
- store_file_contents.gsub!(hook_matcher) do
53
- hook, event = Regexp.last_match.values_at(:hook, :event)
54
- hooks[event] = hook
55
- nil
56
- end
57
-
58
- # Render latest event documentation with current hook implementations
59
- rendered_hooks = events.sort.map do |event_name, event_data|
60
- STDOUT.write(hooks.key?(event_name) ? '.' : 'x')
61
-
62
- hook_template.result(
63
- name: event_data['name'],
64
- desc: event_data['desc'],
65
- hook: hooks[event_name]
66
- ).rstrip
67
- end
68
-
69
- # Insert updated event hooks under RealTime Events marker
70
- store_file_contents.gsub!(
71
- REAL_TIME_EVENTS_MARKER,
72
- [REAL_TIME_EVENTS_MARKER, *rendered_hooks].join("\n\n")
73
- )
74
- File.write(store_file, store_file_contents)
75
-
76
- puts ' done.'
77
- end
78
- end
79
- end
80
- end
81
- end