Class: GoogleMapsPlatform::Client
- Inherits:
-
Object
- Object
- GoogleMapsPlatform::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/google_maps_platform/client.rb
Overview
google_maps_platform 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
-
#directions_api ⇒ DirectionsApiController
Access to directions_api controller.
-
#distance_matrix_api ⇒ DistanceMatrixApiController
Access to distance_matrix_api controller.
-
#elevation_api ⇒ ElevationApiController
Access to elevation_api controller.
-
#geocoding_api ⇒ GeocodingApiController
Access to geocoding_api controller.
-
#geolocation_api ⇒ GeolocationApiController
Access to geolocation_api 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, custom_query_authentication_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.
-
#places_api ⇒ PlacesApiController
Access to places_api controller.
-
#roads_api ⇒ RoadsApiController
Access to roads_api controller.
-
#street_view_api ⇒ StreetViewApiController
Access to street_view_api controller.
-
#time_zone_api ⇒ TimeZoneApiController
Access to time_zone_api 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, custom_query_authentication_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/google_maps_platform/client.rb', line 70 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, custom_query_authentication_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, custom_query_authentication_credentials: custom_query_authentication_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/google_maps_platform/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/google_maps_platform/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
117 118 119 120 121 |
# File 'lib/google_maps_platform/client.rb', line 117 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
#directions_api ⇒ DirectionsApiController
Access to directions_api controller.
24 25 26 |
# File 'lib/google_maps_platform/client.rb', line 24 def directions_api @directions_api ||= DirectionsApiController.new @global_configuration end |
#distance_matrix_api ⇒ DistanceMatrixApiController
Access to distance_matrix_api controller.
54 55 56 |
# File 'lib/google_maps_platform/client.rb', line 54 def distance_matrix_api @distance_matrix_api ||= DistanceMatrixApiController.new @global_configuration end |
#elevation_api ⇒ ElevationApiController
Access to elevation_api controller.
30 31 32 |
# File 'lib/google_maps_platform/client.rb', line 30 def elevation_api @elevation_api ||= ElevationApiController.new @global_configuration end |
#geocoding_api ⇒ GeocodingApiController
Access to geocoding_api controller.
36 37 38 |
# File 'lib/google_maps_platform/client.rb', line 36 def geocoding_api @geocoding_api ||= GeocodingApiController.new @global_configuration end |
#geolocation_api ⇒ GeolocationApiController
Access to geolocation_api controller.
18 19 20 |
# File 'lib/google_maps_platform/client.rb', line 18 def geolocation_api @geolocation_api ||= GeolocationApiController.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
107 108 109 110 111 112 113 114 |
# File 'lib/google_maps_platform/client.rb', line 107 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[ApiKeyAuth].each { |auth| @auth_managers[auth] = nil } @auth_managers['ApiKeyAuth'] = CustomQueryAuthentication.new( http_client_config.custom_query_authentication_credentials ) end |
#places_api ⇒ PlacesApiController
Access to places_api controller.
60 61 62 |
# File 'lib/google_maps_platform/client.rb', line 60 def places_api @places_api ||= PlacesApiController.new @global_configuration end |
#roads_api ⇒ RoadsApiController
Access to roads_api controller.
48 49 50 |
# File 'lib/google_maps_platform/client.rb', line 48 def roads_api @roads_api ||= RoadsApiController.new @global_configuration end |
#street_view_api ⇒ StreetViewApiController
Access to street_view_api controller.
66 67 68 |
# File 'lib/google_maps_platform/client.rb', line 66 def street_view_api @street_view_api ||= StreetViewApiController.new @global_configuration end |
#time_zone_api ⇒ TimeZoneApiController
Access to time_zone_api controller.
42 43 44 |
# File 'lib/google_maps_platform/client.rb', line 42 def time_zone_api @time_zone_api ||= TimeZoneApiController.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/google_maps_platform/client.rb', line 12 def user_agent_detail config.user_agent_detail end |