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 ⇒ DirectionsApi
Access to directions_api controller.
-
#distance_matrix_api ⇒ DistanceMatrixApi
Access to distance_matrix_api controller.
-
#elevation_api ⇒ ElevationApi
Access to elevation_api controller.
-
#geocoding_api ⇒ GeocodingApi
Access to geocoding_api controller.
-
#geolocation_api ⇒ GeolocationApi
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 ⇒ PlacesApi
Access to places_api controller.
-
#roads_api ⇒ RoadsApi
Access to roads_api controller.
-
#street_view_api ⇒ StreetViewApi
Access to street_view_api controller.
-
#time_zone_api ⇒ TimeZoneApi
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 = 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/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 ⇒ DirectionsApi
Access to directions_api controller.
24 25 26 |
# File 'lib/google_maps_platform/client.rb', line 24 def directions_api @directions_api ||= DirectionsApi.new @global_configuration end |
#distance_matrix_api ⇒ DistanceMatrixApi
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 ||= DistanceMatrixApi.new @global_configuration end |
#elevation_api ⇒ ElevationApi
Access to elevation_api controller.
30 31 32 |
# File 'lib/google_maps_platform/client.rb', line 30 def elevation_api @elevation_api ||= ElevationApi.new @global_configuration end |
#geocoding_api ⇒ GeocodingApi
Access to geocoding_api controller.
36 37 38 |
# File 'lib/google_maps_platform/client.rb', line 36 def geocoding_api @geocoding_api ||= GeocodingApi.new @global_configuration end |
#geolocation_api ⇒ GeolocationApi
Access to geolocation_api controller.
18 19 20 |
# File 'lib/google_maps_platform/client.rb', line 18 def geolocation_api @geolocation_api ||= GeolocationApi.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 ⇒ PlacesApi
Access to places_api controller.
60 61 62 |
# File 'lib/google_maps_platform/client.rb', line 60 def places_api @places_api ||= PlacesApi.new @global_configuration end |
#roads_api ⇒ RoadsApi
Access to roads_api controller.
48 49 50 |
# File 'lib/google_maps_platform/client.rb', line 48 def roads_api @roads_api ||= RoadsApi.new @global_configuration end |
#street_view_api ⇒ StreetViewApi
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 ||= StreetViewApi.new @global_configuration end |
#time_zone_api ⇒ TimeZoneApi
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 ||= TimeZoneApi.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 |