Class: SlackWebApi::Client
- Inherits:
-
Object
- Object
- SlackWebApi::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/slack_web_api/client.rb
Overview
slack_web_api client class.
Instance Attribute Summary collapse
-
#auth_managers ⇒ Object
readonly
Returns the value of attribute auth_managers.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Class Method Summary collapse
-
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
Instance Method Summary collapse
-
#admin_apps ⇒ AdminAppsController
Access to admin_apps controller.
-
#admin_apps_approved ⇒ AdminAppsApprovedController
Access to admin_apps_approved controller.
-
#admin_apps_requests ⇒ AdminAppsRequestsController
Access to admin_apps_requests controller.
-
#admin_apps_restricted ⇒ AdminAppsRestrictedController
Access to admin_apps_restricted controller.
-
#admin_conversations ⇒ AdminConversationsController
Access to admin_conversations controller.
-
#admin_conversations_ekm ⇒ AdminConversationsEkmController
Access to admin_conversations_ekm controller.
-
#admin_conversations_restrict_access ⇒ AdminConversationsRestrictAccessController
Access to admin_conversations_restrict_access controller.
-
#admin_emoji ⇒ AdminEmojiController
Access to admin_emoji controller.
-
#admin_invite_requests ⇒ AdminInviteRequestsController
Access to admin_invite_requests controller.
-
#admin_invite_requests_approved ⇒ AdminInviteRequestsApprovedController
Access to admin_invite_requests_approved controller.
-
#admin_invite_requests_denied ⇒ AdminInviteRequestsDeniedController
Access to admin_invite_requests_denied controller.
-
#admin_teams ⇒ AdminTeamsController
Access to admin_teams controller.
-
#admin_teams_admins ⇒ AdminTeamsAdminsController
Access to admin_teams_admins controller.
-
#admin_teams_owners ⇒ AdminTeamsOwnersController
Access to admin_teams_owners controller.
-
#admin_teams_settings ⇒ AdminTeamsSettingsController
Access to admin_teams_settings controller.
-
#admin_usergroups ⇒ AdminUsergroupsController
Access to admin_usergroups controller.
-
#admin_users ⇒ AdminUsersController
Access to admin_users controller.
-
#admin_users_session ⇒ AdminUsersSessionController
Access to admin_users_session controller.
-
#api ⇒ ApiController
Access to api controller.
-
#apps ⇒ AppsController
Access to apps controller.
-
#apps_event_authorizations ⇒ AppsEventAuthorizationsController
Access to apps_event_authorizations controller.
-
#apps_permissions ⇒ AppsPermissionsController
Access to apps_permissions controller.
-
#apps_permissions_resources ⇒ AppsPermissionsResourcesController
Access to apps_permissions_resources controller.
-
#apps_permissions_scopes ⇒ AppsPermissionsScopesController
Access to apps_permissions_scopes controller.
-
#apps_permissions_users ⇒ AppsPermissionsUsersController
Access to apps_permissions_users controller.
-
#auth ⇒ AuthController
Access to auth controller.
-
#bots ⇒ BotsController
Access to bots controller.
-
#calls ⇒ CallsController
Access to calls controller.
-
#calls_participants ⇒ CallsParticipantsController
Access to calls_participants controller.
-
#chat ⇒ ChatController
Access to chat controller.
-
#chat_scheduled_messages ⇒ ChatScheduledMessagesController
Access to chat_scheduled_messages controller.
-
#conversations ⇒ ConversationsController
Access to conversations controller.
-
#dialog ⇒ DialogController
Access to dialog controller.
-
#dnd ⇒ DndController
Access to dnd controller.
-
#emoji ⇒ EmojiController
Access to emoji controller.
-
#files ⇒ FilesController
Access to files controller.
-
#files_comments ⇒ FilesCommentsController
Access to files_comments controller.
-
#files_remote ⇒ FilesRemoteController
Access to files_remote controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, authorization_code_auth_credentials: nil, config: nil) ⇒ Client
constructor
A new instance of Client.
-
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
-
#migration ⇒ MigrationController
Access to migration controller.
-
#oauth ⇒ OauthController
Access to oauth controller.
-
#oauth_authorization ⇒ OauthAuthorizationController
Access to oauth_authorization controller.
-
#oauth_v2 ⇒ OauthV2Controller
Access to oauth_v2 controller.
-
#pins ⇒ PinsController
Access to pins controller.
-
#reactions ⇒ ReactionsController
Access to reactions controller.
-
#reminders ⇒ RemindersController
Access to reminders controller.
-
#rtm ⇒ RtmController
Access to rtm controller.
-
#search ⇒ SearchController
Access to search controller.
-
#slack_auth ⇒ Object
Returns the configured authentication slackAuth instance.
-
#stars ⇒ StarsController
Access to stars controller.
-
#team ⇒ TeamController
Access to team controller.
-
#team_profile ⇒ TeamProfileController
Access to team_profile controller.
- #user_agent_detail ⇒ Object
-
#usergroups ⇒ UsergroupsController
Access to usergroups controller.
-
#usergroups_users ⇒ UsergroupsUsersController
Access to usergroups_users controller.
-
#users ⇒ UsersController
Access to users controller.
-
#users_profile ⇒ UsersProfileController
Access to users_profile controller.
-
#views ⇒ ViewsController
Access to views controller.
-
#workflows ⇒ WorkflowsController
Access to workflows controller.
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, authorization_code_auth_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 |
# File 'lib/slack_web_api/client.rb', line 357 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: i[get put], http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, authorization_code_auth_credentials: nil, config: nil ) @config = if config.nil? Configuration.new( connection: connection, adapter: adapter, timeout: timeout, max_retries: max_retries, retry_interval: retry_interval, backoff_factor: backoff_factor, retry_statuses: retry_statuses, retry_methods: retry_methods, http_callback: http_callback, proxy_settings: proxy_settings, logging_configuration: logging_configuration, environment: environment, authorization_code_auth_credentials: ) else config end user_agent_params = BaseController.user_agent_parameters @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseController::GLOBAL_ERRORS) .user_agent(BaseController.user_agent, agent_parameters: user_agent_params) initialize_auth_managers(@global_configuration) @global_configuration = @global_configuration.auth_managers(@auth_managers) end |
Instance Attribute Details
#auth_managers ⇒ Object (readonly)
Returns the value of attribute auth_managers.
10 11 12 |
# File 'lib/slack_web_api/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/slack_web_api/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
404 405 406 407 408 |
# File 'lib/slack_web_api/client.rb', line 404 def self.from_env(**overrides) default_config = Configuration.build_default_config_from_env new_config = default_config.clone_with(**overrides) new(config: new_config) end |
Instance Method Details
#admin_apps ⇒ AdminAppsController
Access to admin_apps controller.
23 24 25 |
# File 'lib/slack_web_api/client.rb', line 23 def admin_apps @admin_apps ||= AdminAppsController.new @global_configuration end |
#admin_apps_approved ⇒ AdminAppsApprovedController
Access to admin_apps_approved controller.
29 30 31 |
# File 'lib/slack_web_api/client.rb', line 29 def admin_apps_approved @admin_apps_approved ||= AdminAppsApprovedController.new @global_configuration end |
#admin_apps_requests ⇒ AdminAppsRequestsController
Access to admin_apps_requests controller.
35 36 37 |
# File 'lib/slack_web_api/client.rb', line 35 def admin_apps_requests @admin_apps_requests ||= AdminAppsRequestsController.new @global_configuration end |
#admin_apps_restricted ⇒ AdminAppsRestrictedController
Access to admin_apps_restricted controller.
41 42 43 |
# File 'lib/slack_web_api/client.rb', line 41 def admin_apps_restricted @admin_apps_restricted ||= AdminAppsRestrictedController.new @global_configuration end |
#admin_conversations ⇒ AdminConversationsController
Access to admin_conversations controller.
47 48 49 |
# File 'lib/slack_web_api/client.rb', line 47 def admin_conversations @admin_conversations ||= AdminConversationsController.new @global_configuration end |
#admin_conversations_ekm ⇒ AdminConversationsEkmController
Access to admin_conversations_ekm controller.
53 54 55 |
# File 'lib/slack_web_api/client.rb', line 53 def admin_conversations_ekm @admin_conversations_ekm ||= AdminConversationsEkmController.new @global_configuration end |
#admin_conversations_restrict_access ⇒ AdminConversationsRestrictAccessController
Access to admin_conversations_restrict_access controller.
59 60 61 |
# File 'lib/slack_web_api/client.rb', line 59 def admin_conversations_restrict_access @admin_conversations_restrict_access ||= AdminConversationsRestrictAccessController.new @global_configuration end |
#admin_emoji ⇒ AdminEmojiController
Access to admin_emoji controller.
65 66 67 |
# File 'lib/slack_web_api/client.rb', line 65 def admin_emoji @admin_emoji ||= AdminEmojiController.new @global_configuration end |
#admin_invite_requests ⇒ AdminInviteRequestsController
Access to admin_invite_requests controller.
71 72 73 |
# File 'lib/slack_web_api/client.rb', line 71 def admin_invite_requests @admin_invite_requests ||= AdminInviteRequestsController.new @global_configuration end |
#admin_invite_requests_approved ⇒ AdminInviteRequestsApprovedController
Access to admin_invite_requests_approved controller.
77 78 79 |
# File 'lib/slack_web_api/client.rb', line 77 def admin_invite_requests_approved @admin_invite_requests_approved ||= AdminInviteRequestsApprovedController.new @global_configuration end |
#admin_invite_requests_denied ⇒ AdminInviteRequestsDeniedController
Access to admin_invite_requests_denied controller.
83 84 85 |
# File 'lib/slack_web_api/client.rb', line 83 def admin_invite_requests_denied @admin_invite_requests_denied ||= AdminInviteRequestsDeniedController.new @global_configuration end |
#admin_teams ⇒ AdminTeamsController
Access to admin_teams controller.
95 96 97 |
# File 'lib/slack_web_api/client.rb', line 95 def admin_teams @admin_teams ||= AdminTeamsController.new @global_configuration end |
#admin_teams_admins ⇒ AdminTeamsAdminsController
Access to admin_teams_admins controller.
89 90 91 |
# File 'lib/slack_web_api/client.rb', line 89 def admin_teams_admins @admin_teams_admins ||= AdminTeamsAdminsController.new @global_configuration end |
#admin_teams_owners ⇒ AdminTeamsOwnersController
Access to admin_teams_owners controller.
101 102 103 |
# File 'lib/slack_web_api/client.rb', line 101 def admin_teams_owners @admin_teams_owners ||= AdminTeamsOwnersController.new @global_configuration end |
#admin_teams_settings ⇒ AdminTeamsSettingsController
Access to admin_teams_settings controller.
107 108 109 |
# File 'lib/slack_web_api/client.rb', line 107 def admin_teams_settings @admin_teams_settings ||= AdminTeamsSettingsController.new @global_configuration end |
#admin_usergroups ⇒ AdminUsergroupsController
Access to admin_usergroups controller.
113 114 115 |
# File 'lib/slack_web_api/client.rb', line 113 def admin_usergroups @admin_usergroups ||= AdminUsergroupsController.new @global_configuration end |
#admin_users ⇒ AdminUsersController
Access to admin_users controller.
119 120 121 |
# File 'lib/slack_web_api/client.rb', line 119 def admin_users @admin_users ||= AdminUsersController.new @global_configuration end |
#admin_users_session ⇒ AdminUsersSessionController
Access to admin_users_session controller.
125 126 127 |
# File 'lib/slack_web_api/client.rb', line 125 def admin_users_session @admin_users_session ||= AdminUsersSessionController.new @global_configuration end |
#api ⇒ ApiController
Access to api controller.
131 132 133 |
# File 'lib/slack_web_api/client.rb', line 131 def api @api ||= ApiController.new @global_configuration end |
#apps ⇒ AppsController
Access to apps controller.
167 168 169 |
# File 'lib/slack_web_api/client.rb', line 167 def apps @apps ||= AppsController.new @global_configuration end |
#apps_event_authorizations ⇒ AppsEventAuthorizationsController
Access to apps_event_authorizations controller.
137 138 139 |
# File 'lib/slack_web_api/client.rb', line 137 def ||= AppsEventAuthorizationsController.new @global_configuration end |
#apps_permissions ⇒ AppsPermissionsController
Access to apps_permissions controller.
143 144 145 |
# File 'lib/slack_web_api/client.rb', line 143 def ||= AppsPermissionsController.new @global_configuration end |
#apps_permissions_resources ⇒ AppsPermissionsResourcesController
Access to apps_permissions_resources controller.
149 150 151 |
# File 'lib/slack_web_api/client.rb', line 149 def ||= AppsPermissionsResourcesController.new @global_configuration end |
#apps_permissions_scopes ⇒ AppsPermissionsScopesController
Access to apps_permissions_scopes controller.
155 156 157 |
# File 'lib/slack_web_api/client.rb', line 155 def ||= AppsPermissionsScopesController.new @global_configuration end |
#apps_permissions_users ⇒ AppsPermissionsUsersController
Access to apps_permissions_users controller.
161 162 163 |
# File 'lib/slack_web_api/client.rb', line 161 def ||= AppsPermissionsUsersController.new @global_configuration end |
#auth ⇒ AuthController
Access to auth controller.
173 174 175 |
# File 'lib/slack_web_api/client.rb', line 173 def auth @auth ||= AuthController.new @global_configuration end |
#bots ⇒ BotsController
Access to bots controller.
179 180 181 |
# File 'lib/slack_web_api/client.rb', line 179 def bots @bots ||= BotsController.new @global_configuration end |
#calls ⇒ CallsController
Access to calls controller.
185 186 187 |
# File 'lib/slack_web_api/client.rb', line 185 def calls @calls ||= CallsController.new @global_configuration end |
#calls_participants ⇒ CallsParticipantsController
Access to calls_participants controller.
191 192 193 |
# File 'lib/slack_web_api/client.rb', line 191 def calls_participants @calls_participants ||= CallsParticipantsController.new @global_configuration end |
#chat ⇒ ChatController
Access to chat controller.
197 198 199 |
# File 'lib/slack_web_api/client.rb', line 197 def chat @chat ||= ChatController.new @global_configuration end |
#chat_scheduled_messages ⇒ ChatScheduledMessagesController
Access to chat_scheduled_messages controller.
203 204 205 |
# File 'lib/slack_web_api/client.rb', line 203 def ||= ChatScheduledMessagesController.new @global_configuration end |
#conversations ⇒ ConversationsController
Access to conversations controller.
209 210 211 |
# File 'lib/slack_web_api/client.rb', line 209 def conversations @conversations ||= ConversationsController.new @global_configuration end |
#dialog ⇒ DialogController
Access to dialog controller.
215 216 217 |
# File 'lib/slack_web_api/client.rb', line 215 def dialog @dialog ||= DialogController.new @global_configuration end |
#dnd ⇒ DndController
Access to dnd controller.
221 222 223 |
# File 'lib/slack_web_api/client.rb', line 221 def dnd @dnd ||= DndController.new @global_configuration end |
#emoji ⇒ EmojiController
Access to emoji controller.
227 228 229 |
# File 'lib/slack_web_api/client.rb', line 227 def emoji @emoji ||= EmojiController.new @global_configuration end |
#files ⇒ FilesController
Access to files controller.
239 240 241 |
# File 'lib/slack_web_api/client.rb', line 239 def files @files ||= FilesController.new @global_configuration end |
#files_comments ⇒ FilesCommentsController
Access to files_comments controller.
233 234 235 |
# File 'lib/slack_web_api/client.rb', line 233 def files_comments @files_comments ||= FilesCommentsController.new @global_configuration end |
#files_remote ⇒ FilesRemoteController
Access to files_remote controller.
245 246 247 |
# File 'lib/slack_web_api/client.rb', line 245 def files_remote @files_remote ||= FilesRemoteController.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
394 395 396 397 398 399 400 401 |
# File 'lib/slack_web_api/client.rb', line 394 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[slackAuth].each { |auth| @auth_managers[auth] = nil } @auth_managers['slackAuth'] = Oauth2.new( http_client_config., global_config ) end |
#migration ⇒ MigrationController
Access to migration controller.
251 252 253 |
# File 'lib/slack_web_api/client.rb', line 251 def migration @migration ||= MigrationController.new @global_configuration end |
#oauth ⇒ OauthController
Access to oauth controller.
257 258 259 |
# File 'lib/slack_web_api/client.rb', line 257 def oauth @oauth ||= OauthController.new @global_configuration end |
#oauth_authorization ⇒ OauthAuthorizationController
Access to oauth_authorization controller.
353 354 355 |
# File 'lib/slack_web_api/client.rb', line 353 def ||= OauthAuthorizationController.new @global_configuration end |
#oauth_v2 ⇒ OauthV2Controller
Access to oauth_v2 controller.
263 264 265 |
# File 'lib/slack_web_api/client.rb', line 263 def oauth_v2 @oauth_v2 ||= OauthV2Controller.new @global_configuration end |
#pins ⇒ PinsController
Access to pins controller.
269 270 271 |
# File 'lib/slack_web_api/client.rb', line 269 def pins @pins ||= PinsController.new @global_configuration end |
#reactions ⇒ ReactionsController
Access to reactions controller.
275 276 277 |
# File 'lib/slack_web_api/client.rb', line 275 def reactions @reactions ||= ReactionsController.new @global_configuration end |
#reminders ⇒ RemindersController
Access to reminders controller.
281 282 283 |
# File 'lib/slack_web_api/client.rb', line 281 def reminders @reminders ||= RemindersController.new @global_configuration end |
#rtm ⇒ RtmController
Access to rtm controller.
287 288 289 |
# File 'lib/slack_web_api/client.rb', line 287 def rtm @rtm ||= RtmController.new @global_configuration end |
#search ⇒ SearchController
Access to search controller.
293 294 295 |
# File 'lib/slack_web_api/client.rb', line 293 def search @search ||= SearchController.new @global_configuration end |
#slack_auth ⇒ Object
Returns the configured authentication slackAuth instance.
17 18 19 |
# File 'lib/slack_web_api/client.rb', line 17 def slack_auth @auth_managers['slackAuth'] end |
#stars ⇒ StarsController
Access to stars controller.
299 300 301 |
# File 'lib/slack_web_api/client.rb', line 299 def stars @stars ||= StarsController.new @global_configuration end |
#team ⇒ TeamController
Access to team controller.
305 306 307 |
# File 'lib/slack_web_api/client.rb', line 305 def team @team ||= TeamController.new @global_configuration end |
#team_profile ⇒ TeamProfileController
Access to team_profile controller.
311 312 313 |
# File 'lib/slack_web_api/client.rb', line 311 def team_profile @team_profile ||= TeamProfileController.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/slack_web_api/client.rb', line 12 def user_agent_detail config.user_agent_detail end |
#usergroups ⇒ UsergroupsController
Access to usergroups controller.
317 318 319 |
# File 'lib/slack_web_api/client.rb', line 317 def usergroups @usergroups ||= UsergroupsController.new @global_configuration end |
#usergroups_users ⇒ UsergroupsUsersController
Access to usergroups_users controller.
323 324 325 |
# File 'lib/slack_web_api/client.rb', line 323 def usergroups_users @usergroups_users ||= UsergroupsUsersController.new @global_configuration end |
#users ⇒ UsersController
Access to users controller.
329 330 331 |
# File 'lib/slack_web_api/client.rb', line 329 def users @users ||= UsersController.new @global_configuration end |
#users_profile ⇒ UsersProfileController
Access to users_profile controller.
335 336 337 |
# File 'lib/slack_web_api/client.rb', line 335 def users_profile @users_profile ||= UsersProfileController.new @global_configuration end |
#views ⇒ ViewsController
Access to views controller.
341 342 343 |
# File 'lib/slack_web_api/client.rb', line 341 def views @views ||= ViewsController.new @global_configuration end |
#workflows ⇒ WorkflowsController
Access to workflows controller.
347 348 349 |
# File 'lib/slack_web_api/client.rb', line 347 def workflows @workflows ||= WorkflowsController.new @global_configuration end |