Class: CalendarApi::Client
- Inherits:
-
Object
- Object
- CalendarApi::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/calendar_api/client.rb
Overview
calendar_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
-
#calendar_list ⇒ CalendarListApi
Access to calendar_list controller.
-
#channels ⇒ ChannelsApi
Access to channels controller.
-
#events ⇒ EventsApi
Access to events controller.
-
#free_busy ⇒ FreeBusyApi
Access to free_busy 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.
-
#oauth_2 ⇒ Object
Returns the configured authentication oauth2 instance.
-
#oauth_authorization ⇒ OauthAuthorizationApi
Access to oauth_authorization controller.
- #user_agent_detail ⇒ Object
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.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/calendar_api/client.rb', line 51 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 = BaseApi.user_agent_parameters @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseApi::GLOBAL_ERRORS) .user_agent(BaseApi.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/calendar_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/calendar_api/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
97 98 99 100 101 |
# File 'lib/calendar_api/client.rb', line 97 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
#calendar_list ⇒ CalendarListApi
Access to calendar_list controller.
23 24 25 |
# File 'lib/calendar_api/client.rb', line 23 def calendar_list @calendar_list ||= CalendarListApi.new @global_configuration end |
#channels ⇒ ChannelsApi
Access to channels controller.
41 42 43 |
# File 'lib/calendar_api/client.rb', line 41 def channels @channels ||= ChannelsApi.new @global_configuration end |
#events ⇒ EventsApi
Access to events controller.
29 30 31 |
# File 'lib/calendar_api/client.rb', line 29 def events @events ||= EventsApi.new @global_configuration end |
#free_busy ⇒ FreeBusyApi
Access to free_busy controller.
35 36 37 |
# File 'lib/calendar_api/client.rb', line 35 def free_busy @free_busy ||= FreeBusyApi.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
88 89 90 91 92 93 94 |
# File 'lib/calendar_api/client.rb', line 88 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[oauth2].each { |auth| @auth_managers[auth] = nil } @auth_managers['oauth2'] = Oauth2.new(http_client_config., global_config) end |
#oauth_2 ⇒ Object
Returns the configured authentication oauth2 instance.
17 18 19 |
# File 'lib/calendar_api/client.rb', line 17 def oauth_2 @auth_managers['oauth2'] end |
#oauth_authorization ⇒ OauthAuthorizationApi
Access to oauth_authorization controller.
47 48 49 |
# File 'lib/calendar_api/client.rb', line 47 def @oauth_authorization ||= OauthAuthorizationApi.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/calendar_api/client.rb', line 12 def user_agent_detail config.user_agent_detail end |