module Google::Cloud

Public Class Methods

spanner(project_id = nil, credentials = nil, scope: nil, timeout: nil, lib_name: nil, lib_version: nil) click to toggle source

Creates a new object for connecting to the Spanner service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@param [String] project_id Project identifier for the Spanner service you

are connecting to. If not present, the default project for the
credentials is used.

@param [String, Hash, Google::Auth::Credentials] credentials The path to

the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (See {Spanner::Credentials})

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scopes are:

* `https://www.googleapis.com/auth/spanner`
* `https://www.googleapis.com/auth/spanner.data`

@param [Integer] timeout Default timeout to use in requests. Optional. @param [String] lib_name Library name. This will be added as a prefix

to the API call tracking header `x-goog-api-client` with provided
lib version for telemetry. Optional. For example prefix looks like
`spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
`spanner-activerecord/0.0.1` is provided custom library name and
version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
with version.

@param [String] lib_version Library version. This will be added as a

prefix to the API call tracking header `x-goog-api-client` with
provided lib name for telemetry. Optional. For example prefix look like
`spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
`spanner-activerecord/0.0.1` is provided custom library name and
version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
with version.

@return [Google::Cloud::Spanner::Project]

@example

require "google/cloud"

spanner = Google::Cloud.spanner
# File lib/google-cloud-spanner.rb, line 128
def self.spanner project_id = nil, credentials = nil, scope: nil,
                 timeout: nil, lib_name: nil, lib_version: nil
  require "google/cloud/spanner"
  Google::Cloud::Spanner.new project_id: project_id,
                             credentials: credentials,
                             scope: scope, timeout: timeout,
                             lib_name: lib_name, lib_version: lib_version
end

Public Instance Methods

spanner(scope: nil, timeout: nil, lib_name: nil, lib_version: nil) click to toggle source

Creates a new object for connecting to the Spanner service. Each call creates a new connection.

For more information on connecting to Google Cloud see the {file:AUTHENTICATION.md Authentication Guide}.

@param [String, Array<String>] scope The OAuth 2.0 scopes controlling the

set of resources and operations that the connection can access. See
[Using OAuth 2.0 to Access Google
APIs](https://developers.google.com/identity/protocols/OAuth2).

The default scopes are:

* `https://www.googleapis.com/auth/spanner`
* `https://www.googleapis.com/auth/spanner.data`

@param [Integer] timeout Default timeout to use in requests. Optional. @param [String] lib_name Library name. This will be added as a prefix

to the API call tracking header `x-goog-api-client` with provided
lib version for telemetry. Optional. For example prefix looks like
`spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
`spanner-activerecord/0.0.1` is provided custom library name and
version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
with version.

@param [String] lib_version Library version. This will be added as a

prefix to the API call tracking header `x-goog-api-client` with
provided lib name for telemetry. Optional. For example prefix look like
`spanner-activerecord/0.0.1 gccl/1.13.1`. Here,
`spanner-activerecord/0.0.1` is provided custom library name and
version and `gccl/1.13.1` represents the Cloud Spanner Ruby library
with version.

@return [Google::Cloud::Spanner::Project]

@example

require "google/cloud"

gcloud = Google::Cloud.new
spanner = gcloud.spanner

@example The default scope can be overridden with the `scope` option:

require "google/cloud"

gcloud  = Google::Cloud.new
platform_scope = "https://www.googleapis.com/auth/cloud-platform"
spanner = gcloud.spanner scope: platform_scope
# File lib/google-cloud-spanner.rb, line 76
def spanner scope: nil, timeout: nil, lib_name: nil, lib_version: nil
  Google::Cloud.spanner @project, @keyfile, scope: scope,
                                            timeout: (timeout || @timeout),
                                            lib_name: lib_name,
                                            lib_version: lib_version
end