def datastore scope: nil, timeout: nil, client_config: nil
      Google::Cloud.datastore @project, @keyfile,
                              scope: scope, timeout: (timeout || @timeout),
                              client_config: client_config
    end
def datastore scope: nil, timeout: nil, client_config: nil
      Google::Cloud.datastore @project, @keyfile,
                              scope: scope, timeout: (timeout || @timeout),
                              client_config: client_config
    end
Creates a new object for connecting to the Datastore 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 scope is:

   * `https://www.googleapis.com/auth/datastore`
 @param [Integer] timeout Default timeout to use in requests. Optional.
 @param [Hash] client_config A hash of values to override the default
   behavior of the API client. See Google::Gax::CallSettings. Optional.

 @return [Google::Cloud::Datastore::Dataset]

 @example
   require "google/cloud"

   gcloud  = Google::Cloud.new
   datastore = gcloud.datastore

   task = datastore.entity "Task" do |t|
     t["type"] = "Personal"
     t["done"] = false
     t["priority"] = 4
     t["description"] = "Learn Cloud Datastore"
   end

   datastore.save task

 @example You shouldn't need to override the default scope, but you can:
   require "google/cloud"

   gcloud  = Google::Cloud.new
   platform_scope = "https://www.googleapis.com/auth/cloud-platform"
   datastore = gcloud.datastore scope: platform_scope