slack-ruby-client 0.7.2 → 1.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.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +2 -0
- data/.gitmodules +1 -1
- data/.rubocop.yml +37 -1
- data/.rubocop_todo.yml +130 -47
- data/.travis.yml +17 -13
- data/CHANGELOG.md +254 -43
- data/CONTRIBUTING.md +26 -15
- data/Dangerfile +3 -0
- data/Gemfile +13 -2
- data/LICENSE.md +1 -1
- data/README.md +287 -63
- data/RELEASING.md +22 -14
- data/Rakefile +2 -1
- data/UPGRADING.md +129 -5
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/api.rb +3 -3
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_manifest.rb +51 -0
- data/bin/commands/apps_permissions.rb +23 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +12 -2
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +15 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +6 -132
- data/bin/commands/chat.rb +127 -20
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +253 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +12 -9
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +47 -31
- data/bin/commands/files_comments.rb +3 -23
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -154
- data/bin/commands/im.rb +1 -48
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +1 -48
- data/bin/commands/oauth.rb +4 -2
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +9 -12
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +17 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +17 -12
- data/bin/commands/stars.rb +12 -9
- data/bin/commands/team.rb +23 -8
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +14 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +23 -17
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +83 -27
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +27 -0
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +47 -5
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +8 -4
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +2 -1
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +3 -2
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +4 -4
- data/lib/slack/messages/message.rb +6 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +116 -36
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +17 -19
- data/lib/slack/real_time/models/base.rb +3 -3
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +8 -7
- data/lib/slack/real_time/socket.rb +51 -23
- data/lib/slack/real_time/stores/base.rb +6 -9
- data/lib/slack/real_time/stores/starter.rb +143 -69
- data/lib/slack/real_time/stores/store.rb +160 -82
- data/lib/slack/real_time/stores.rb +4 -3
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/api.rb +4 -5
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +14 -2
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +25 -0
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +8 -201
- data/lib/slack/web/api/endpoints/chat.rb +252 -42
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +422 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +17 -12
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +82 -43
- data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -235
- data/lib/slack/web/api/endpoints/im.rb +1 -73
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -72
- data/lib/slack/web/api/endpoints/oauth.rb +9 -10
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +14 -23
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +43 -34
- data/lib/slack/web/api/endpoints/reminders.rb +28 -15
- data/lib/slack/web/api/endpoints/rtm.rb +29 -8
- data/lib/slack/web/api/endpoints/search.rb +39 -24
- data/lib/slack/web/api/endpoints/stars.rb +30 -22
- data/lib/slack/web/api/endpoints/team.rb +34 -11
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +23 -0
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
- data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
- data/lib/slack/web/api/endpoints/users.rb +104 -19
- data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +111 -29
- data/lib/slack/web/api/error.rb +2 -8
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
- data/lib/slack/web/api/errors.rb +1040 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/ids.id.rb +24 -0
- data/lib/slack/web/api/mixins/users.id.rb +6 -7
- data/lib/slack/web/api/mixins/users.search.rb +39 -36
- data/lib/slack/web/api/mixins.rb +4 -4
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +5 -3
- data/lib/slack/web/api/templates/commands.erb +2 -1
- data/lib/slack/web/api/templates/endpoints.erb +5 -5
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +26 -4
- data/lib/slack/web/api/templates/method_spec.erb +3 -2
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +21 -10
- data/lib/slack/web/faraday/connection.rb +25 -16
- data/lib/slack/web/faraday/request.rb +4 -1
- data/lib/slack/web/faraday/response/raise_error.rb +19 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +48 -0
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +2 -1
- data/lib/tasks/real_time.rake +16 -6
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +42 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +11 -9
- data/spec/fixtures/slack/web/429_error.yml +50 -52
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +613 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +465 -141
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -0
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +7 -4
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +42 -8
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +33 -0
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/users_spec.rb +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
- data/spec/slack/web/client_spec.rb +211 -14
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +6 -5
- data/spec/support/real_time/concurrency/mock.rb +2 -2
- data/spec/support/real_time/connected_client.rb +7 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +250 -130
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async/Gemfile +0 -5
- data/examples/hi_real_time_async/hi.rb +0 -29
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/channels.id.rb +0 -26
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -35
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -30
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -0,0 +1,77 @@
|
|
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 AdminUsergroups
|
9
|
+
#
|
10
|
+
# Add up to one hundred default channels to an IDP group.
|
11
|
+
#
|
12
|
+
# @option options [array] :channel_ids
|
13
|
+
# Comma separated string of channel IDs.
|
14
|
+
# @option options [string] :usergroup_id
|
15
|
+
# ID of the IDP group to add default channels for.
|
16
|
+
# @option options [string] :team_id
|
17
|
+
# The workspace to add default channels in.
|
18
|
+
# @see https://api.slack.com/methods/admin.usergroups.addChannels
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addChannels.json
|
20
|
+
def admin_usergroups_addChannels(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
|
22
|
+
throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
|
23
|
+
post('admin.usergroups.addChannels', options)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Associate one or more default workspaces with an organization-wide IDP group.
|
28
|
+
#
|
29
|
+
# @option options [array] :team_ids
|
30
|
+
# A comma separated list of encoded team (workspace) IDs. Each workspace MUST belong to the organization associated with the token.
|
31
|
+
# @option options [string] :usergroup_id
|
32
|
+
# An encoded usergroup (IDP Group) ID.
|
33
|
+
# @option options [boolean] :auto_provision
|
34
|
+
# When true, this method automatically creates new workspace accounts for the IDP group members.
|
35
|
+
# @see https://api.slack.com/methods/admin.usergroups.addTeams
|
36
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.addTeams.json
|
37
|
+
def admin_usergroups_addTeams(options = {})
|
38
|
+
throw ArgumentError.new('Required arguments :team_ids missing') if options[:team_ids].nil?
|
39
|
+
throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
|
40
|
+
post('admin.usergroups.addTeams', options)
|
41
|
+
end
|
42
|
+
|
43
|
+
#
|
44
|
+
# List the channels linked to an org-level IDP group (user group).
|
45
|
+
#
|
46
|
+
# @option options [Object] :usergroup_id
|
47
|
+
# ID of the IDP group to list default channels for.
|
48
|
+
# @option options [boolean] :include_num_members
|
49
|
+
# Flag to include or exclude the count of members per channel.
|
50
|
+
# @option options [string] :team_id
|
51
|
+
# ID of the the workspace.
|
52
|
+
# @see https://api.slack.com/methods/admin.usergroups.listChannels
|
53
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.listChannels.json
|
54
|
+
def admin_usergroups_listChannels(options = {})
|
55
|
+
throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
|
56
|
+
post('admin.usergroups.listChannels', options)
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Remove one or more default channels from an org-level IDP group (user group).
|
61
|
+
#
|
62
|
+
# @option options [array] :channel_ids
|
63
|
+
# Comma-separated string of channel IDs.
|
64
|
+
# @option options [string] :usergroup_id
|
65
|
+
# ID of the IDP Group.
|
66
|
+
# @see https://api.slack.com/methods/admin.usergroups.removeChannels
|
67
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.usergroups/admin.usergroups.removeChannels.json
|
68
|
+
def admin_usergroups_removeChannels(options = {})
|
69
|
+
throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
|
70
|
+
throw ArgumentError.new('Required arguments :usergroup_id missing') if options[:usergroup_id].nil?
|
71
|
+
post('admin.usergroups.removeChannels', options)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,163 @@
|
|
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 AdminUsers
|
9
|
+
#
|
10
|
+
# Add an Enterprise user to a workspace.
|
11
|
+
#
|
12
|
+
# @option options [Object] :team_id
|
13
|
+
# The ID (T1234) of the workspace.
|
14
|
+
# @option options [Object] :user_id
|
15
|
+
# The ID of the user to add to the workspace.
|
16
|
+
# @option options [string] :channel_ids
|
17
|
+
# Comma separated values of channel IDs to add user in the new workspace.
|
18
|
+
# @option options [boolean] :is_restricted
|
19
|
+
# True if user should be added to the workspace as a guest.
|
20
|
+
# @option options [boolean] :is_ultra_restricted
|
21
|
+
# True if user should be added to the workspace as a single-channel guest.
|
22
|
+
# @see https://api.slack.com/methods/admin.users.assign
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.assign.json
|
24
|
+
def admin_users_assign(options = {})
|
25
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
26
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
27
|
+
post('admin.users.assign', options)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Invite a user to a workspace.
|
32
|
+
#
|
33
|
+
# @option options [string] :channel_ids
|
34
|
+
# A comma-separated list of channel_ids for this user to join. At least one channel is required.
|
35
|
+
# @option options [string] :email
|
36
|
+
# The email address of the person to invite.
|
37
|
+
# @option options [Object] :team_id
|
38
|
+
# The ID (T1234) of the workspace.
|
39
|
+
# @option options [string] :custom_message
|
40
|
+
# An optional message to send to the user in the invite email.
|
41
|
+
# @option options [boolean] :email_password_policy_enabled
|
42
|
+
# Allow invited user to sign in via email and password. Only available for Enterprise Grid teams via admin invite.
|
43
|
+
# @option options [string] :guest_expiration_ts
|
44
|
+
# Timestamp when guest account should be disabled. Only include this timestamp if you are inviting a guest user and you want their account to expire on a certain date.
|
45
|
+
# @option options [boolean] :is_restricted
|
46
|
+
# Is this user a multi-channel guest user? (default: false).
|
47
|
+
# @option options [boolean] :is_ultra_restricted
|
48
|
+
# Is this user a single channel guest user? (default: false).
|
49
|
+
# @option options [string] :real_name
|
50
|
+
# Full name of the user.
|
51
|
+
# @option options [boolean] :resend
|
52
|
+
# Allow this invite to be resent in the future if a user has not signed up yet. (default: false).
|
53
|
+
# @see https://api.slack.com/methods/admin.users.invite
|
54
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.invite.json
|
55
|
+
def admin_users_invite(options = {})
|
56
|
+
throw ArgumentError.new('Required arguments :channel_ids missing') if options[:channel_ids].nil?
|
57
|
+
throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
|
58
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
59
|
+
post('admin.users.invite', options)
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# List users on a workspace
|
64
|
+
#
|
65
|
+
# @option options [string] :cursor
|
66
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
67
|
+
# @option options [integer] :limit
|
68
|
+
# Limit for how many users to be retrieved per page.
|
69
|
+
# @option options [Object] :team_id
|
70
|
+
# The ID (T1234) of the workspace.
|
71
|
+
# @see https://api.slack.com/methods/admin.users.list
|
72
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.list.json
|
73
|
+
def admin_users_list(options = {})
|
74
|
+
if block_given?
|
75
|
+
Pagination::Cursor.new(self, :admin_users_list, options).each do |page|
|
76
|
+
yield page
|
77
|
+
end
|
78
|
+
else
|
79
|
+
post('admin.users.list', options)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
#
|
84
|
+
# Remove a user from a workspace.
|
85
|
+
#
|
86
|
+
# @option options [Object] :team_id
|
87
|
+
# The ID (T1234) of the workspace.
|
88
|
+
# @option options [string] :user_id
|
89
|
+
# The ID of the user to remove.
|
90
|
+
# @see https://api.slack.com/methods/admin.users.remove
|
91
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.remove.json
|
92
|
+
def admin_users_remove(options = {})
|
93
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
94
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
95
|
+
post('admin.users.remove', options)
|
96
|
+
end
|
97
|
+
|
98
|
+
#
|
99
|
+
# Set an existing guest, regular user, or owner to be an admin user.
|
100
|
+
#
|
101
|
+
# @option options [Object] :team_id
|
102
|
+
# The ID (T1234) of the workspace.
|
103
|
+
# @option options [string] :user_id
|
104
|
+
# The ID of the user to designate as an admin.
|
105
|
+
# @see https://api.slack.com/methods/admin.users.setAdmin
|
106
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setAdmin.json
|
107
|
+
def admin_users_setAdmin(options = {})
|
108
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
109
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
110
|
+
post('admin.users.setAdmin', options)
|
111
|
+
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# Set an expiration for a guest user
|
115
|
+
#
|
116
|
+
# @option options [integer] :expiration_ts
|
117
|
+
# Timestamp when guest account should be disabled.
|
118
|
+
# @option options [string] :user_id
|
119
|
+
# The ID of the user to set an expiration for.
|
120
|
+
# @option options [Object] :team_id
|
121
|
+
# The ID (T1234) of the workspace.
|
122
|
+
# @see https://api.slack.com/methods/admin.users.setExpiration
|
123
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setExpiration.json
|
124
|
+
def admin_users_setExpiration(options = {})
|
125
|
+
throw ArgumentError.new('Required arguments :expiration_ts missing') if options[:expiration_ts].nil?
|
126
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
127
|
+
post('admin.users.setExpiration', options)
|
128
|
+
end
|
129
|
+
|
130
|
+
#
|
131
|
+
# Set an existing guest, regular user, or admin user to be a workspace owner.
|
132
|
+
#
|
133
|
+
# @option options [Object] :team_id
|
134
|
+
# The ID (T1234) of the workspace.
|
135
|
+
# @option options [Object] :user_id
|
136
|
+
# Id of the user to promote to owner.
|
137
|
+
# @see https://api.slack.com/methods/admin.users.setOwner
|
138
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setOwner.json
|
139
|
+
def admin_users_setOwner(options = {})
|
140
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
141
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
142
|
+
post('admin.users.setOwner', options)
|
143
|
+
end
|
144
|
+
|
145
|
+
#
|
146
|
+
# Set an existing guest user, admin user, or owner to be a regular user.
|
147
|
+
#
|
148
|
+
# @option options [Object] :team_id
|
149
|
+
# The ID (T1234) of the workspace.
|
150
|
+
# @option options [string] :user_id
|
151
|
+
# The ID of the user to designate as a regular user.
|
152
|
+
# @see https://api.slack.com/methods/admin.users.setRegular
|
153
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users/admin.users.setRegular.json
|
154
|
+
def admin_users_setRegular(options = {})
|
155
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
156
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
157
|
+
post('admin.users.setRegular', options)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
@@ -0,0 +1,122 @@
|
|
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 AdminUsersSession
|
9
|
+
#
|
10
|
+
# Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.
|
11
|
+
#
|
12
|
+
# @option options [array] :user_ids
|
13
|
+
# The IDs of users you'd like to clear session settings for.
|
14
|
+
# @see https://api.slack.com/methods/admin.users.session.clearSettings
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.clearSettings.json
|
16
|
+
def admin_users_session_clearSettings(options = {})
|
17
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
18
|
+
post('admin.users.session.clearSettings', options)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.
|
23
|
+
#
|
24
|
+
# @option options [array] :user_ids
|
25
|
+
# The IDs of users you'd like to fetch session settings for. Note: if a user does not have any active sessions, they will not be returned in the response.
|
26
|
+
# @see https://api.slack.com/methods/admin.users.session.getSettings
|
27
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.getSettings.json
|
28
|
+
def admin_users_session_getSettings(options = {})
|
29
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
30
|
+
post('admin.users.session.getSettings', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Revoke a single session for a user. The user will be forced to login to Slack.
|
35
|
+
#
|
36
|
+
# @option options [integer] :session_id
|
37
|
+
# ID of the session to invalidate.
|
38
|
+
# @option options [string] :team_id
|
39
|
+
# ID of the workspace that the session belongs to.
|
40
|
+
# @see https://api.slack.com/methods/admin.users.session.invalidate
|
41
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.invalidate.json
|
42
|
+
def admin_users_session_invalidate(options = {})
|
43
|
+
throw ArgumentError.new('Required arguments :session_id missing') if options[:session_id].nil?
|
44
|
+
throw ArgumentError.new('Required arguments :team_id missing') if options[:team_id].nil?
|
45
|
+
post('admin.users.session.invalidate', options)
|
46
|
+
end
|
47
|
+
|
48
|
+
#
|
49
|
+
# List active user sessions for an organization
|
50
|
+
#
|
51
|
+
# @option options [string] :cursor
|
52
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
53
|
+
# @option options [integer] :limit
|
54
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
55
|
+
# @option options [string] :team_id
|
56
|
+
# The ID of the workspace you'd like active sessions for. If you pass a team_id, you'll need to pass a user_id as well.
|
57
|
+
# @option options [string] :user_id
|
58
|
+
# The ID of user you'd like active sessions for. If you pass a user_id, you'll need to pass a team_id as well.
|
59
|
+
# @see https://api.slack.com/methods/admin.users.session.list
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.list.json
|
61
|
+
def admin_users_session_list(options = {})
|
62
|
+
if block_given?
|
63
|
+
Pagination::Cursor.new(self, :admin_users_session_list, options).each do |page|
|
64
|
+
yield page
|
65
|
+
end
|
66
|
+
else
|
67
|
+
post('admin.users.session.list', options)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
#
|
72
|
+
# Wipes all valid sessions on all devices for a given user
|
73
|
+
#
|
74
|
+
# @option options [string] :user_id
|
75
|
+
# The ID of the user to wipe sessions for.
|
76
|
+
# @option options [boolean] :mobile_only
|
77
|
+
# Only expire mobile sessions (default: false).
|
78
|
+
# @option options [boolean] :web_only
|
79
|
+
# Only expire web sessions (default: false).
|
80
|
+
# @see https://api.slack.com/methods/admin.users.session.reset
|
81
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.reset.json
|
82
|
+
def admin_users_session_reset(options = {})
|
83
|
+
throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
|
84
|
+
post('admin.users.session.reset', options)
|
85
|
+
end
|
86
|
+
|
87
|
+
#
|
88
|
+
# Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
|
89
|
+
#
|
90
|
+
# @option options [array] :user_ids
|
91
|
+
# The ID of the user to wipe sessions for.
|
92
|
+
# @option options [boolean] :mobile_only
|
93
|
+
# Only expire mobile sessions (default: false).
|
94
|
+
# @option options [boolean] :web_only
|
95
|
+
# Only expire web sessions (default: false).
|
96
|
+
# @see https://api.slack.com/methods/admin.users.session.resetBulk
|
97
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.resetBulk.json
|
98
|
+
def admin_users_session_resetBulk(options = {})
|
99
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
100
|
+
post('admin.users.session.resetBulk', options)
|
101
|
+
end
|
102
|
+
|
103
|
+
#
|
104
|
+
# Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.
|
105
|
+
#
|
106
|
+
# @option options [array] :user_ids
|
107
|
+
# The list of user IDs to apply the session settings for.
|
108
|
+
# @option options [boolean] :desktop_app_browser_quit
|
109
|
+
# Terminate the session when the client—either the desktop app or a browser window—is closed.
|
110
|
+
# @option options [integer] :duration
|
111
|
+
# The session duration, in seconds. The minimum value is 28800, which represents 8 hours; the max value is 315569520 or 10 years (that's a long Slack session).
|
112
|
+
# @see https://api.slack.com/methods/admin.users.session.setSettings
|
113
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.users.session/admin.users.session.setSettings.json
|
114
|
+
def admin_users_session_setSettings(options = {})
|
115
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
116
|
+
post('admin.users.session.setSettings', options)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -6,14 +7,12 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Api
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Checks API calling code.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :error
|
12
13
|
# Error response to return.
|
13
|
-
# @option options [Object] :foo
|
14
|
-
# example property to return.
|
15
14
|
# @see https://api.slack.com/methods/api.test
|
16
|
-
# @see https://github.com/
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/api/api.test.json
|
17
16
|
def api_test(options = {})
|
18
17
|
post('api.test', options)
|
19
18
|
end
|
@@ -0,0 +1,27 @@
|
|
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 Apps
|
9
|
+
#
|
10
|
+
# Uninstalls your app from a workspace.
|
11
|
+
#
|
12
|
+
# @option options [string] :client_id
|
13
|
+
# Issued when you created your application.
|
14
|
+
# @option options [string] :client_secret
|
15
|
+
# Issued when you created your application.
|
16
|
+
# @see https://api.slack.com/methods/apps.uninstall
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps/apps.uninstall.json
|
18
|
+
def apps_uninstall(options = {})
|
19
|
+
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
20
|
+
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
21
|
+
post('apps.uninstall', options)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,21 @@
|
|
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 AppsConnections
|
9
|
+
#
|
10
|
+
# Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over,
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/apps.connections.open
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.connections/apps.connections.open.json
|
14
|
+
def apps_connections_open(options = {})
|
15
|
+
post('apps.connections.open', options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,34 @@
|
|
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 AppsEventAuthorizations
|
9
|
+
#
|
10
|
+
# Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.
|
11
|
+
#
|
12
|
+
# @option options [string] :event_context
|
13
|
+
# .
|
14
|
+
# @option options [string] :cursor
|
15
|
+
# .
|
16
|
+
# @option options [integer] :limit
|
17
|
+
# .
|
18
|
+
# @see https://api.slack.com/methods/apps.event.authorizations.list
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.event.authorizations/apps.event.authorizations.list.json
|
20
|
+
def apps_event_authorizations_list(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :event_context missing') if options[:event_context].nil?
|
22
|
+
if block_given?
|
23
|
+
Pagination::Cursor.new(self, :apps_event_authorizations_list, options).each do |page|
|
24
|
+
yield page
|
25
|
+
end
|
26
|
+
else
|
27
|
+
post('apps.event.authorizations.list', options)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,75 @@
|
|
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 AppsManifest
|
9
|
+
#
|
10
|
+
# Create an app from an app manifest.
|
11
|
+
#
|
12
|
+
# @option options [manifest object as string] :manifest
|
13
|
+
# A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one.
|
14
|
+
# @see https://api.slack.com/methods/apps.manifest.create
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.create.json
|
16
|
+
def apps_manifest_create(options = {})
|
17
|
+
throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
|
18
|
+
post('apps.manifest.create', options)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Permanently deletes an app created through app manifests
|
23
|
+
#
|
24
|
+
# @option options [Object] :app_id
|
25
|
+
# The ID of the app you want to delete.
|
26
|
+
# @see https://api.slack.com/methods/apps.manifest.delete
|
27
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.delete.json
|
28
|
+
def apps_manifest_delete(options = {})
|
29
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
30
|
+
post('apps.manifest.delete', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Export an app manifest from an existing app
|
35
|
+
#
|
36
|
+
# @option options [Object] :app_id
|
37
|
+
# The ID of the app whose configuration you want to export as a manifest.
|
38
|
+
# @see https://api.slack.com/methods/apps.manifest.export
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.export.json
|
40
|
+
def apps_manifest_export(options = {})
|
41
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
42
|
+
post('apps.manifest.export', options)
|
43
|
+
end
|
44
|
+
|
45
|
+
#
|
46
|
+
# Update an app from an app manifest
|
47
|
+
#
|
48
|
+
# @option options [Object] :app_id
|
49
|
+
# The ID of the app whose configuration you want to update.
|
50
|
+
# @option options [manifest object as string] :manifest
|
51
|
+
# A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely replaces any previous configuration, manifest must contain both unmodified and modified fields.
|
52
|
+
# @see https://api.slack.com/methods/apps.manifest.update
|
53
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.update.json
|
54
|
+
def apps_manifest_update(options = {})
|
55
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
56
|
+
throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
|
57
|
+
post('apps.manifest.update', options)
|
58
|
+
end
|
59
|
+
|
60
|
+
#
|
61
|
+
# Validate an app manifest
|
62
|
+
#
|
63
|
+
# @option options [manifest object as string] :manifest
|
64
|
+
# The manifest to be validated. Will be validated against the app manifest schema - read our guide.
|
65
|
+
# @see https://api.slack.com/methods/apps.manifest.validate
|
66
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.validate.json
|
67
|
+
def apps_manifest_validate(options = {})
|
68
|
+
throw ArgumentError.new('Required arguments :manifest missing') if options[:manifest].nil?
|
69
|
+
post('apps.manifest.validate', options)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,36 @@
|
|
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 AppsPermissions
|
9
|
+
#
|
10
|
+
# Returns list of permissions this app has on a team.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/apps.permissions.info
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions/apps.permissions.info.json
|
14
|
+
def apps_permissions_info(options = {})
|
15
|
+
post('apps.permissions.info', options)
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# Allows an app to request additional scopes
|
20
|
+
#
|
21
|
+
# @option options [Object] :scopes
|
22
|
+
# A comma separated list of scopes to request for.
|
23
|
+
# @option options [Object] :trigger_id
|
24
|
+
# Token used to trigger the permissions API.
|
25
|
+
# @see https://api.slack.com/methods/apps.permissions.request
|
26
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions/apps.permissions.request.json
|
27
|
+
def apps_permissions_request(options = {})
|
28
|
+
throw ArgumentError.new('Required arguments :scopes missing') if options[:scopes].nil?
|
29
|
+
throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
|
30
|
+
post('apps.permissions.request', options)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,31 @@
|
|
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 AppsPermissionsResources
|
9
|
+
#
|
10
|
+
# Returns list of resource grants this app has on a team.
|
11
|
+
#
|
12
|
+
# @option options [Object] :cursor
|
13
|
+
# 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.
|
14
|
+
# @option options [Object] :limit
|
15
|
+
# The maximum number of items to return.
|
16
|
+
# @see https://api.slack.com/methods/apps.permissions.resources.list
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions.resources/apps.permissions.resources.list.json
|
18
|
+
def apps_permissions_resources_list(options = {})
|
19
|
+
if block_given?
|
20
|
+
Pagination::Cursor.new(self, :apps_permissions_resources_list, options).each do |page|
|
21
|
+
yield page
|
22
|
+
end
|
23
|
+
else
|
24
|
+
post('apps.permissions.resources.list', options)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
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 AppsPermissionsScopes
|
9
|
+
#
|
10
|
+
# Returns list of scopes this app has on a team.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/apps.permissions.scopes.list
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions.scopes/apps.permissions.scopes.list.json
|
14
|
+
def apps_permissions_scopes_list(options = {})
|
15
|
+
post('apps.permissions.scopes.list', options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|