gcloud 0.6.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/AUTHENTICATION.md +13 -9
- data/CHANGELOG.md +8 -3
- data/OVERVIEW.md +46 -8
- data/lib/gcloud.rb +123 -117
- data/lib/gcloud/backoff.rb +43 -15
- data/lib/gcloud/bigquery.rb +211 -195
- data/lib/gcloud/bigquery/connection.rb +9 -9
- data/lib/gcloud/bigquery/copy_job.rb +15 -16
- data/lib/gcloud/bigquery/credentials.rb +3 -3
- data/lib/gcloud/bigquery/data.rb +12 -11
- data/lib/gcloud/bigquery/dataset.rb +162 -216
- data/lib/gcloud/bigquery/dataset/access.rb +59 -43
- data/lib/gcloud/bigquery/dataset/list.rb +3 -3
- data/lib/gcloud/bigquery/errors.rb +9 -5
- data/lib/gcloud/bigquery/extract_job.rb +18 -18
- data/lib/gcloud/bigquery/insert_response.rb +7 -4
- data/lib/gcloud/bigquery/job.rb +48 -44
- data/lib/gcloud/bigquery/job/list.rb +3 -3
- data/lib/gcloud/bigquery/load_job.rb +24 -25
- data/lib/gcloud/bigquery/project.rb +145 -204
- data/lib/gcloud/bigquery/query_data.rb +10 -9
- data/lib/gcloud/bigquery/query_job.rb +23 -32
- data/lib/gcloud/bigquery/table.rb +238 -280
- data/lib/gcloud/bigquery/table/list.rb +3 -3
- data/lib/gcloud/bigquery/table/schema.rb +79 -87
- data/lib/gcloud/bigquery/view.rb +69 -82
- data/lib/gcloud/credentials.rb +3 -9
- data/lib/gcloud/datastore.rb +194 -170
- data/lib/gcloud/datastore/connection.rb +12 -8
- data/lib/gcloud/datastore/credentials.rb +6 -4
- data/lib/gcloud/datastore/dataset.rb +74 -141
- data/lib/gcloud/datastore/dataset/lookup_results.rb +6 -4
- data/lib/gcloud/datastore/dataset/query_results.rb +6 -4
- data/lib/gcloud/datastore/entity.rb +81 -76
- data/lib/gcloud/datastore/errors.rb +10 -8
- data/lib/gcloud/datastore/key.rb +41 -77
- data/lib/gcloud/datastore/properties.rb +3 -3
- data/lib/gcloud/datastore/proto.rb +7 -4
- data/lib/gcloud/datastore/query.rb +26 -3
- data/lib/gcloud/datastore/transaction.rb +12 -8
- data/lib/gcloud/dns.rb +180 -152
- data/lib/gcloud/dns/change.rb +16 -16
- data/lib/gcloud/dns/change/list.rb +3 -3
- data/lib/gcloud/dns/connection.rb +9 -10
- data/lib/gcloud/dns/credentials.rb +3 -3
- data/lib/gcloud/dns/errors.rb +9 -5
- data/lib/gcloud/dns/importer.rb +17 -23
- data/lib/gcloud/dns/project.rb +42 -64
- data/lib/gcloud/dns/record.rb +58 -46
- data/lib/gcloud/dns/record/list.rb +6 -7
- data/lib/gcloud/dns/zone.rb +198 -289
- data/lib/gcloud/dns/zone/list.rb +3 -3
- data/lib/gcloud/dns/zone/transaction.rb +56 -72
- data/lib/gcloud/errors.rb +174 -3
- data/lib/gcloud/gce.rb +3 -4
- data/lib/gcloud/grpc_utils.rb +76 -0
- data/lib/gcloud/logging.rb +308 -0
- data/lib/gcloud/logging/credentials.rb +29 -0
- data/lib/gcloud/logging/entry.rb +303 -0
- data/lib/gcloud/logging/entry/http_request.rb +141 -0
- data/lib/gcloud/logging/entry/list.rb +111 -0
- data/lib/gcloud/logging/entry/operation.rb +90 -0
- data/lib/gcloud/logging/logger.rb +307 -0
- data/lib/gcloud/logging/metric.rb +175 -0
- data/lib/gcloud/logging/metric/list.rb +98 -0
- data/lib/gcloud/logging/project.rb +650 -0
- data/lib/gcloud/logging/resource.rb +95 -0
- data/lib/gcloud/logging/resource_descriptor.rb +140 -0
- data/lib/gcloud/logging/resource_descriptor/list.rb +78 -0
- data/lib/gcloud/logging/service.rb +258 -0
- data/lib/gcloud/logging/sink.rb +233 -0
- data/lib/gcloud/logging/sink/list.rb +97 -0
- data/lib/gcloud/pubsub.rb +241 -199
- data/lib/gcloud/pubsub/credentials.rb +3 -3
- data/lib/gcloud/pubsub/message.rb +26 -20
- data/lib/gcloud/pubsub/project.rb +166 -233
- data/lib/gcloud/pubsub/received_message.rb +28 -38
- data/lib/gcloud/pubsub/service.rb +323 -0
- data/lib/gcloud/pubsub/subscription.rb +172 -242
- data/lib/gcloud/pubsub/subscription/list.rb +11 -9
- data/lib/gcloud/pubsub/topic.rb +152 -271
- data/lib/gcloud/pubsub/topic/batch.rb +66 -0
- data/lib/gcloud/pubsub/topic/list.rb +9 -7
- data/lib/gcloud/resource_manager.rb +158 -138
- data/lib/gcloud/resource_manager/connection.rb +6 -5
- data/lib/gcloud/resource_manager/credentials.rb +3 -3
- data/lib/gcloud/resource_manager/errors.rb +9 -5
- data/lib/gcloud/resource_manager/manager.rb +54 -86
- data/lib/gcloud/resource_manager/project.rb +69 -88
- data/lib/gcloud/resource_manager/project/list.rb +4 -5
- data/lib/gcloud/resource_manager/project/updater.rb +12 -14
- data/lib/gcloud/search.rb +158 -135
- data/lib/gcloud/search/api_client.rb +7 -7
- data/lib/gcloud/search/connection.rb +8 -8
- data/lib/gcloud/search/credentials.rb +3 -3
- data/lib/gcloud/search/document.rb +64 -87
- data/lib/gcloud/search/document/list.rb +5 -5
- data/lib/gcloud/search/errors.rb +9 -5
- data/lib/gcloud/search/field_value.rb +32 -38
- data/lib/gcloud/search/field_values.rb +50 -80
- data/lib/gcloud/search/fields.rb +44 -65
- data/lib/gcloud/search/index.rb +163 -204
- data/lib/gcloud/search/index/list.rb +5 -5
- data/lib/gcloud/search/project.rb +31 -47
- data/lib/gcloud/search/result.rb +27 -31
- data/lib/gcloud/search/result/list.rb +6 -6
- data/lib/gcloud/storage.rb +224 -190
- data/lib/gcloud/storage/bucket.rb +202 -227
- data/lib/gcloud/storage/bucket/acl.rb +83 -170
- data/lib/gcloud/storage/bucket/cors.rb +31 -34
- data/lib/gcloud/storage/bucket/list.rb +3 -3
- data/lib/gcloud/storage/connection.rb +11 -7
- data/lib/gcloud/storage/credentials.rb +3 -3
- data/lib/gcloud/storage/errors.rb +11 -8
- data/lib/gcloud/storage/file.rb +129 -171
- data/lib/gcloud/storage/file/acl.rb +51 -99
- data/lib/gcloud/storage/file/list.rb +3 -3
- data/lib/gcloud/storage/file/verifier.rb +3 -2
- data/lib/gcloud/storage/project.rb +111 -132
- data/lib/gcloud/upload.rb +4 -7
- data/lib/gcloud/version.rb +2 -4
- data/lib/google/api/annotations.rb +14 -0
- data/lib/google/api/http.rb +30 -0
- data/lib/google/api/label.rb +24 -0
- data/lib/google/api/monitored_resource.rb +25 -0
- data/lib/google/datastore/v1beta3/datastore.rb +115 -0
- data/lib/google/datastore/v1beta3/datastore_services.rb +33 -0
- data/lib/google/datastore/v1beta3/entity.rb +63 -0
- data/lib/google/datastore/v1beta3/query.rb +128 -0
- data/lib/google/devtools/cloudtrace/v1/trace.rb +78 -0
- data/lib/google/devtools/cloudtrace/v1/trace_services.rb +32 -0
- data/lib/google/example/library/v1/library.rb +91 -0
- data/lib/google/example/library/v1/library_services.rb +40 -0
- data/lib/google/iam/v1/iam_policy.rb +33 -0
- data/lib/google/iam/v1/iam_policy_services.rb +30 -0
- data/lib/google/iam/v1/policy.rb +25 -0
- data/lib/google/logging/type/http_request.rb +28 -0
- data/lib/google/logging/type/log_severity.rb +27 -0
- data/lib/google/logging/v2/log_entry.rb +44 -0
- data/lib/google/logging/v2/logging.rb +56 -0
- data/lib/google/logging/v2/logging_config.rb +59 -0
- data/lib/google/logging/v2/logging_config_services.rb +32 -0
- data/lib/google/logging/v2/logging_metrics.rb +51 -0
- data/lib/google/logging/v2/logging_metrics_services.rb +32 -0
- data/lib/google/logging/v2/logging_services.rb +31 -0
- data/lib/google/longrunning/operations.rb +50 -0
- data/lib/google/longrunning/operations_services.rb +29 -0
- data/lib/google/protobuf/any.rb +17 -0
- data/lib/google/protobuf/api.rb +31 -0
- data/lib/google/protobuf/descriptor.rb +0 -0
- data/lib/google/protobuf/duration.rb +17 -0
- data/lib/google/protobuf/empty.rb +15 -0
- data/lib/google/protobuf/field_mask.rb +16 -0
- data/lib/google/protobuf/source_context.rb +16 -0
- data/lib/google/protobuf/struct.rb +35 -0
- data/lib/google/protobuf/timestamp.rb +17 -0
- data/lib/google/protobuf/type.rb +79 -0
- data/lib/google/protobuf/wrappers.rb +48 -0
- data/lib/google/pubsub/v1/pubsub.rb +129 -0
- data/lib/google/pubsub/v1/pubsub_services.rb +56 -0
- data/lib/google/pubsub/v1beta2/pubsub.rb +126 -0
- data/lib/google/pubsub/v1beta2/pubsub_services.rb +56 -0
- data/lib/google/rpc/code.rb +32 -0
- data/lib/google/rpc/error_details.rb +61 -0
- data/lib/google/rpc/status.rb +19 -0
- data/lib/google/type/color.rb +20 -0
- data/lib/google/type/date.rb +18 -0
- data/lib/google/type/dayofweek.rb +23 -0
- data/lib/google/type/latlng.rb +17 -0
- data/lib/google/type/money.rb +18 -0
- data/lib/google/type/timeofday.rb +19 -0
- metadata +101 -4
- data/lib/gcloud/pubsub/connection.rb +0 -295
- data/lib/gcloud/pubsub/errors.rb +0 -93
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#--
|
|
2
1
|
# Copyright 2014 Google Inc. All rights reserved.
|
|
3
2
|
#
|
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,17 +12,20 @@
|
|
|
13
12
|
# See the License for the specific language governing permissions and
|
|
14
13
|
# limitations under the License.
|
|
15
14
|
|
|
15
|
+
|
|
16
16
|
require "faraday"
|
|
17
17
|
|
|
18
18
|
module Gcloud
|
|
19
19
|
module Datastore
|
|
20
20
|
##
|
|
21
|
+
# @private
|
|
22
|
+
#
|
|
21
23
|
# Represent the HTTP connection to the Datastore,
|
|
22
24
|
# as well as the Datastore API calls.
|
|
23
25
|
#
|
|
24
26
|
# This class only deals with Protocol Buffer objects,
|
|
25
27
|
# and is not part of the public API.
|
|
26
|
-
class Connection
|
|
28
|
+
class Connection
|
|
27
29
|
API_VERSION = "v1beta2"
|
|
28
30
|
API_URL = "https://www.googleapis.com"
|
|
29
31
|
|
|
@@ -33,13 +35,15 @@ module Gcloud
|
|
|
33
35
|
|
|
34
36
|
##
|
|
35
37
|
# The Credentials object for signing HTTP requests.
|
|
36
|
-
attr_accessor :credentials
|
|
38
|
+
attr_accessor :credentials
|
|
37
39
|
|
|
38
40
|
##
|
|
39
41
|
# Create a new Connection instance.
|
|
40
42
|
#
|
|
43
|
+
# @example
|
|
41
44
|
# conn = Gcloud::Datastore.Connection.new "my-todo-project",
|
|
42
45
|
# Gcloud::Datastore::Credentials.new("/path/to/keyfile.json")
|
|
46
|
+
#
|
|
43
47
|
def initialize dataset_id, credentials
|
|
44
48
|
@dataset_id = dataset_id
|
|
45
49
|
@credentials = credentials
|
|
@@ -114,24 +118,24 @@ module Gcloud
|
|
|
114
118
|
|
|
115
119
|
##
|
|
116
120
|
# The default HTTP headers to be sent on all API calls.
|
|
117
|
-
def default_http_headers
|
|
121
|
+
def default_http_headers
|
|
118
122
|
@default_http_headers ||= {
|
|
119
123
|
"User-Agent" => "gcloud-node/#{Gcloud::VERSION}",
|
|
120
124
|
"Content-Type" => "application/x-protobuf" }
|
|
121
125
|
end
|
|
122
126
|
##
|
|
123
127
|
# Update the default HTTP headers.
|
|
124
|
-
attr_writer :default_http_headers
|
|
128
|
+
attr_writer :default_http_headers
|
|
125
129
|
|
|
126
130
|
##
|
|
127
131
|
# The HTTP object that makes calls to Datastore.
|
|
128
132
|
# This must be a Faraday object.
|
|
129
|
-
def http
|
|
133
|
+
def http
|
|
130
134
|
@http ||= Faraday.new url: http_host
|
|
131
135
|
end
|
|
132
136
|
##
|
|
133
137
|
# Update the HTTP object.
|
|
134
|
-
attr_writer :http
|
|
138
|
+
attr_writer :http
|
|
135
139
|
|
|
136
140
|
##
|
|
137
141
|
# The Datastore API URL.
|
|
@@ -146,7 +150,7 @@ module Gcloud
|
|
|
146
150
|
@http_host = new_http_host
|
|
147
151
|
end
|
|
148
152
|
|
|
149
|
-
def inspect
|
|
153
|
+
def inspect
|
|
150
154
|
"#{self.class}(#{@dataset_id})"
|
|
151
155
|
end
|
|
152
156
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#--
|
|
2
1
|
# Copyright 2014 Google Inc. All rights reserved.
|
|
3
2
|
#
|
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,17 +12,20 @@
|
|
|
13
12
|
# See the License for the specific language governing permissions and
|
|
14
13
|
# limitations under the License.
|
|
15
14
|
|
|
15
|
+
|
|
16
16
|
require "gcloud/credentials"
|
|
17
17
|
|
|
18
18
|
module Gcloud
|
|
19
19
|
module Datastore
|
|
20
20
|
##
|
|
21
|
+
# @private
|
|
22
|
+
#
|
|
21
23
|
# Authentication credentials to Google Cloud.
|
|
22
24
|
# The most common way to create this object is to provide the path
|
|
23
25
|
# to the JSON keyfile downloaded from Google Cloud.
|
|
24
26
|
#
|
|
25
|
-
# https://developers.google.com/accounts/docs/application-default-credentials
|
|
26
|
-
class Credentials < Gcloud::Credentials
|
|
27
|
+
# @see https://developers.google.com/accounts/docs/application-default-credentials
|
|
28
|
+
class Credentials < Gcloud::Credentials
|
|
27
29
|
SCOPE = ["https://www.googleapis.com/auth/datastore",
|
|
28
30
|
"https://www.googleapis.com/auth/userinfo.email"]
|
|
29
31
|
PATH_ENV_VARS = %w(DATASTORE_KEYFILE GCLOUD_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
|
@@ -32,7 +34,7 @@ module Gcloud
|
|
|
32
34
|
|
|
33
35
|
##
|
|
34
36
|
# Sign OAuth 2.0 API calls.
|
|
35
|
-
def sign_http_request request
|
|
37
|
+
def sign_http_request request
|
|
36
38
|
if @client
|
|
37
39
|
@client.fetch_access_token! if @client.expired?
|
|
38
40
|
@client.generate_authenticated_request request: request
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#--
|
|
2
1
|
# Copyright 2014 Google Inc. All rights reserved.
|
|
3
2
|
#
|
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -13,6 +12,7 @@
|
|
|
13
12
|
# See the License for the specific language governing permissions and
|
|
14
13
|
# limitations under the License.
|
|
15
14
|
|
|
15
|
+
|
|
16
16
|
require "gcloud/gce"
|
|
17
17
|
require "gcloud/datastore/connection"
|
|
18
18
|
require "gcloud/datastore/credentials"
|
|
@@ -25,15 +25,18 @@ require "gcloud/datastore/dataset/query_results"
|
|
|
25
25
|
module Gcloud
|
|
26
26
|
module Datastore
|
|
27
27
|
##
|
|
28
|
-
#
|
|
28
|
+
# # Dataset
|
|
29
29
|
#
|
|
30
30
|
# Dataset is the data saved in a project's Datastore.
|
|
31
31
|
# Dataset is analogous to a database in relational database world.
|
|
32
32
|
#
|
|
33
33
|
# Gcloud::Datastore::Dataset is the main object for interacting with
|
|
34
|
-
# Google Datastore. Gcloud::Datastore::Entity objects are created,
|
|
34
|
+
# Google Datastore. {Gcloud::Datastore::Entity} objects are created,
|
|
35
35
|
# read, updated, and deleted by Gcloud::Datastore::Dataset.
|
|
36
36
|
#
|
|
37
|
+
# See {Gcloud#datastore}
|
|
38
|
+
#
|
|
39
|
+
# @example
|
|
37
40
|
# require "gcloud"
|
|
38
41
|
#
|
|
39
42
|
# gcloud = Gcloud.new
|
|
@@ -44,15 +47,15 @@ module Gcloud
|
|
|
44
47
|
#
|
|
45
48
|
# tasks = dataset.run query
|
|
46
49
|
#
|
|
47
|
-
# See Gcloud#datastore
|
|
48
50
|
class Dataset
|
|
49
|
-
|
|
51
|
+
# @private
|
|
52
|
+
attr_accessor :connection
|
|
50
53
|
|
|
51
54
|
##
|
|
52
|
-
# Creates a new Dataset instance.
|
|
55
|
+
# @private Creates a new Dataset instance.
|
|
53
56
|
#
|
|
54
|
-
# See Gcloud#datastore
|
|
55
|
-
def initialize project, credentials
|
|
57
|
+
# See {Gcloud#datastore}
|
|
58
|
+
def initialize project, credentials
|
|
56
59
|
project = project.to_s # Always cast to a string
|
|
57
60
|
fail ArgumentError, "project is missing" if project.empty?
|
|
58
61
|
@connection = Connection.new project, credentials
|
|
@@ -61,8 +64,7 @@ module Gcloud
|
|
|
61
64
|
##
|
|
62
65
|
# The Datastore project connected to.
|
|
63
66
|
#
|
|
64
|
-
#
|
|
65
|
-
#
|
|
67
|
+
# @example
|
|
66
68
|
# require "gcloud"
|
|
67
69
|
#
|
|
68
70
|
# gcloud = Gcloud.new "my-todo-project",
|
|
@@ -76,8 +78,8 @@ module Gcloud
|
|
|
76
78
|
end
|
|
77
79
|
|
|
78
80
|
##
|
|
79
|
-
# Default project.
|
|
80
|
-
def self.default_project
|
|
81
|
+
# @private Default project.
|
|
82
|
+
def self.default_project
|
|
81
83
|
ENV["DATASTORE_DATASET"] ||
|
|
82
84
|
ENV["DATASTORE_PROJECT"] ||
|
|
83
85
|
ENV["GCLOUD_PROJECT"] ||
|
|
@@ -88,19 +90,12 @@ module Gcloud
|
|
|
88
90
|
##
|
|
89
91
|
# Generate IDs for a Key before creating an entity.
|
|
90
92
|
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
93
|
-
# +incomplete_key+::
|
|
94
|
-
# A Key without +id+ or +name+ set. (+Key+)
|
|
95
|
-
# +count+::
|
|
96
|
-
# The number of new key IDs to create. (+Integer+)
|
|
97
|
-
#
|
|
98
|
-
# === Returns
|
|
99
|
-
#
|
|
100
|
-
# Array of Gcloud::Datastore::Key
|
|
93
|
+
# @param [Key] incomplete_key A Key without `id` or `name` set.
|
|
94
|
+
# @param [String] count The number of new key IDs to create.
|
|
101
95
|
#
|
|
102
|
-
#
|
|
96
|
+
# @return [Array<Gcloud::Datastore::Key>]
|
|
103
97
|
#
|
|
98
|
+
# @example
|
|
104
99
|
# empty_key = dataset.key "Task"
|
|
105
100
|
# task_keys = dataset.allocate_ids empty_key, 5
|
|
106
101
|
#
|
|
@@ -119,18 +114,12 @@ module Gcloud
|
|
|
119
114
|
##
|
|
120
115
|
# Persist one or more entities to the Datastore.
|
|
121
116
|
#
|
|
122
|
-
#
|
|
117
|
+
# @param [Entity] entities One or more entity objects to be saved without
|
|
118
|
+
# `id` or `name` set.
|
|
123
119
|
#
|
|
124
|
-
#
|
|
125
|
-
# One or more entity objects to be saved without +id+ or +name+ set.
|
|
126
|
-
# (+Entity+)
|
|
127
|
-
#
|
|
128
|
-
# === Returns
|
|
129
|
-
#
|
|
130
|
-
# Array of Gcloud::Datastore::Entity
|
|
131
|
-
#
|
|
132
|
-
# === Example
|
|
120
|
+
# @return [Array<Gcloud::Datastore::Entity>]
|
|
133
121
|
#
|
|
122
|
+
# @example
|
|
134
123
|
# dataset.save task1, task2
|
|
135
124
|
#
|
|
136
125
|
def save *entities
|
|
@@ -144,27 +133,17 @@ module Gcloud
|
|
|
144
133
|
##
|
|
145
134
|
# Retrieve an entity by providing key information.
|
|
146
135
|
#
|
|
147
|
-
#
|
|
148
|
-
#
|
|
149
|
-
#
|
|
150
|
-
# A Key object or +kind+ string value. (+Key+ or +String+)
|
|
151
|
-
# +id_or_name+::
|
|
152
|
-
# The Key's +id+ or +name+ value if a +kind+ was provided in the first
|
|
153
|
-
# parameter. (+Integer+ or +String+ or +nil+)
|
|
154
|
-
#
|
|
155
|
-
# === Returns
|
|
136
|
+
# @param [Key, String] key_or_kind A Key object or `kind` string value.
|
|
137
|
+
# @param [Integer, String, nil] id_or_name The Key's `id` or `name` value
|
|
138
|
+
# if a `kind` was provided in the first parameter.
|
|
156
139
|
#
|
|
157
|
-
# Gcloud::Datastore::Entity
|
|
158
|
-
#
|
|
159
|
-
# === Example
|
|
160
|
-
#
|
|
161
|
-
# Finding an entity with a key:
|
|
140
|
+
# @return [Gcloud::Datastore::Entity, nil]
|
|
162
141
|
#
|
|
142
|
+
# @example Finding an entity with a key:
|
|
163
143
|
# key = dataset.key "Task", 123456
|
|
164
144
|
# task = dataset.find key
|
|
165
145
|
#
|
|
166
|
-
# Finding an entity with a
|
|
167
|
-
#
|
|
146
|
+
# @example Finding an entity with a `kind` and `id`/`name`:
|
|
168
147
|
# task = dataset.find "Task", 123456
|
|
169
148
|
#
|
|
170
149
|
def find key_or_kind, id_or_name = nil
|
|
@@ -179,17 +158,11 @@ module Gcloud
|
|
|
179
158
|
##
|
|
180
159
|
# Retrieve the entities for the provided keys.
|
|
181
160
|
#
|
|
182
|
-
#
|
|
183
|
-
#
|
|
184
|
-
# +keys+::
|
|
185
|
-
# One or more Key objects to find records for. (+Key+)
|
|
186
|
-
#
|
|
187
|
-
# === Returns
|
|
188
|
-
#
|
|
189
|
-
# Gcloud::Datastore::Dataset::LookupResults
|
|
161
|
+
# @param [Key] keys One or more Key objects to find records for.
|
|
190
162
|
#
|
|
191
|
-
#
|
|
163
|
+
# @return [Gcloud::Datastore::Dataset::LookupResults]
|
|
192
164
|
#
|
|
165
|
+
# @example
|
|
193
166
|
# gcloud = Gcloud.new
|
|
194
167
|
# dataset = gcloud.datastore
|
|
195
168
|
# key1 = dataset.key "Task", 123456
|
|
@@ -208,17 +181,12 @@ module Gcloud
|
|
|
208
181
|
##
|
|
209
182
|
# Remove entities from the Datastore.
|
|
210
183
|
#
|
|
211
|
-
#
|
|
184
|
+
# @param [Entity, Key] entities_or_keys One or more Entity or Key objects
|
|
185
|
+
# to remove.
|
|
212
186
|
#
|
|
213
|
-
#
|
|
214
|
-
# One or more Entity or Key objects to remove. (+Entity+ or +Key+)
|
|
215
|
-
#
|
|
216
|
-
# === Returns
|
|
217
|
-
#
|
|
218
|
-
# +true+ if successful
|
|
219
|
-
#
|
|
220
|
-
# === Example
|
|
187
|
+
# @return [Boolean] Returns `true` if successful
|
|
221
188
|
#
|
|
189
|
+
# @example
|
|
222
190
|
# gcloud = Gcloud.new
|
|
223
191
|
# dataset = gcloud.datastore
|
|
224
192
|
# dataset.delete entity1, entity2
|
|
@@ -237,26 +205,17 @@ module Gcloud
|
|
|
237
205
|
##
|
|
238
206
|
# Retrieve entities specified by a Query.
|
|
239
207
|
#
|
|
240
|
-
#
|
|
241
|
-
#
|
|
242
|
-
# +query+::
|
|
243
|
-
# The Query object with the search criteria. (+Query+)
|
|
244
|
-
# +namespace+::
|
|
245
|
-
# The namespace the query is to run within. (+String+)
|
|
246
|
-
#
|
|
247
|
-
# === Returns
|
|
208
|
+
# @param [Query] query The Query object with the search criteria.
|
|
209
|
+
# @param [String] namespace The namespace the query is to run within.
|
|
248
210
|
#
|
|
249
|
-
# Gcloud::Datastore::Dataset::QueryResults
|
|
250
|
-
#
|
|
251
|
-
# === Examples
|
|
211
|
+
# @return [Gcloud::Datastore::Dataset::QueryResults]
|
|
252
212
|
#
|
|
213
|
+
# @example
|
|
253
214
|
# query = dataset.query("Task").
|
|
254
215
|
# where("completed", "=", true)
|
|
255
216
|
# tasks = dataset.run query
|
|
256
217
|
#
|
|
257
|
-
#
|
|
258
|
-
# option is provided:
|
|
259
|
-
#
|
|
218
|
+
# @example Run the query within a namespace with the `namespace` option:
|
|
260
219
|
# query = Gcloud::Datastore::Query.new.kind("Task").
|
|
261
220
|
# where("completed", "=", true)
|
|
262
221
|
# tasks = dataset.run query, namespace: "ns~todo-project"
|
|
@@ -274,10 +233,10 @@ module Gcloud
|
|
|
274
233
|
##
|
|
275
234
|
# Creates a Datastore Transaction.
|
|
276
235
|
#
|
|
277
|
-
#
|
|
278
|
-
#
|
|
279
|
-
# Runs the given block in a database transaction:
|
|
236
|
+
# @yield [tx] a block yielding a new transaction
|
|
237
|
+
# @yieldparam [Transaction] tx the transaction object
|
|
280
238
|
#
|
|
239
|
+
# @example Runs the given block in a database transaction:
|
|
281
240
|
# require "gcloud"
|
|
282
241
|
#
|
|
283
242
|
# gcloud = Gcloud.new
|
|
@@ -294,8 +253,7 @@ module Gcloud
|
|
|
294
253
|
# end
|
|
295
254
|
# end
|
|
296
255
|
#
|
|
297
|
-
#
|
|
298
|
-
#
|
|
256
|
+
# @example If no block is given, a Transaction object is returned:
|
|
299
257
|
# require "gcloud"
|
|
300
258
|
#
|
|
301
259
|
# gcloud = Gcloud.new
|
|
@@ -333,23 +291,16 @@ module Gcloud
|
|
|
333
291
|
# Create a new Query instance. This is a convenience method to make the
|
|
334
292
|
# creation of Query objects easier.
|
|
335
293
|
#
|
|
336
|
-
#
|
|
337
|
-
#
|
|
338
|
-
# +kinds+::
|
|
339
|
-
# The kind of entities to query. This is optional. (+String+)
|
|
340
|
-
#
|
|
341
|
-
# === Returns
|
|
294
|
+
# @param [String] kinds The kind of entities to query. This is optional.
|
|
342
295
|
#
|
|
343
|
-
# Gcloud::Datastore::Query
|
|
344
|
-
#
|
|
345
|
-
# === Example
|
|
296
|
+
# @return [Gcloud::Datastore::Query]
|
|
346
297
|
#
|
|
298
|
+
# @example
|
|
347
299
|
# query = dataset.query("Task").
|
|
348
300
|
# where("completed", "=", true)
|
|
349
301
|
# tasks = dataset.run query
|
|
350
302
|
#
|
|
351
|
-
#
|
|
352
|
-
#
|
|
303
|
+
# @example The previous example is equivalent to:
|
|
353
304
|
# query = Gcloud::Datastore::Query.new.
|
|
354
305
|
# kind("Task").
|
|
355
306
|
# where("completed", "=", true)
|
|
@@ -365,23 +316,16 @@ module Gcloud
|
|
|
365
316
|
# Create a new Key instance. This is a convenience method to make the
|
|
366
317
|
# creation of Key objects easier.
|
|
367
318
|
#
|
|
368
|
-
#
|
|
369
|
-
#
|
|
370
|
-
#
|
|
371
|
-
# The kind of the Key. This is optional. (+String+)
|
|
372
|
-
# +id_or_name+::
|
|
373
|
-
# The id or name of the Key. This is optional. (+Integer+ or +String+)
|
|
374
|
-
#
|
|
375
|
-
# === Returns
|
|
376
|
-
#
|
|
377
|
-
# Gcloud::Datastore::Key
|
|
319
|
+
# @param [String] kind The kind of the Key. This is optional.
|
|
320
|
+
# @param [Integer, String] id_or_name The id or name of the Key. This is
|
|
321
|
+
# optional.
|
|
378
322
|
#
|
|
379
|
-
#
|
|
323
|
+
# @return [Gcloud::Datastore::Key]
|
|
380
324
|
#
|
|
325
|
+
# @example
|
|
381
326
|
# key = dataset.key "User", "heidi@example.com"
|
|
382
327
|
#
|
|
383
|
-
#
|
|
384
|
-
#
|
|
328
|
+
# @example The previous example is equivalent to:
|
|
385
329
|
# key = Gcloud::Datastore::Key.new "User", "heidi@example.com"
|
|
386
330
|
#
|
|
387
331
|
def key kind = nil, id_or_name = nil
|
|
@@ -392,50 +336,39 @@ module Gcloud
|
|
|
392
336
|
# Create a new empty Entity instance. This is a convenience method to make
|
|
393
337
|
# the creation of Entity objects easier.
|
|
394
338
|
#
|
|
395
|
-
#
|
|
396
|
-
#
|
|
397
|
-
#
|
|
398
|
-
#
|
|
399
|
-
#
|
|
400
|
-
#
|
|
401
|
-
# The Key's +id+ or +name+ value if a +kind+ was provided in the first
|
|
402
|
-
# parameter. (+Integer+ or +String+ or +nil+)
|
|
403
|
-
#
|
|
404
|
-
# === Returns
|
|
339
|
+
# @param [Key, String, nil] key_or_kind A Key object or `kind` string
|
|
340
|
+
# value. This is optional.
|
|
341
|
+
# @param [Integer, String, nil] id_or_name The Key's `id` or `name` value
|
|
342
|
+
# if a `kind` was provided in the first parameter.
|
|
343
|
+
# @yield [entity] a block yielding a new entity
|
|
344
|
+
# @yieldparam [Entity] entity the newly created entity object
|
|
405
345
|
#
|
|
406
|
-
# Gcloud::Datastore::Entity
|
|
407
|
-
#
|
|
408
|
-
# === Examples
|
|
346
|
+
# @return [Gcloud::Datastore::Entity]
|
|
409
347
|
#
|
|
348
|
+
# @example
|
|
410
349
|
# entity = dataset.entity
|
|
411
350
|
#
|
|
412
|
-
#
|
|
413
|
-
#
|
|
351
|
+
# @example The previous example is equivalent to:
|
|
414
352
|
# entity = Gcloud::Datastore::Entity.new
|
|
415
353
|
#
|
|
416
|
-
# The key can also be passed in as an object:
|
|
417
|
-
#
|
|
354
|
+
# @example The key can also be passed in as an object:
|
|
418
355
|
# key = dataset.key "User", "heidi@example.com"
|
|
419
356
|
# entity = dataset.entity key
|
|
420
357
|
#
|
|
421
|
-
# Or the key values can be passed in as parameters:
|
|
422
|
-
#
|
|
358
|
+
# @example Or the key values can be passed in as parameters:
|
|
423
359
|
# entity = dataset.entity "User", "heidi@example.com"
|
|
424
360
|
#
|
|
425
|
-
#
|
|
426
|
-
#
|
|
361
|
+
# @example The previous example is equivalent to:
|
|
427
362
|
# key = Gcloud::Datastore::Key.new "User", "heidi@example.com"
|
|
428
363
|
# entity = Gcloud::Datastore::Entity.new
|
|
429
364
|
# entity.key = key
|
|
430
365
|
#
|
|
431
|
-
# The newly created entity
|
|
432
|
-
#
|
|
366
|
+
# @example The newly created entity can also be configured using a block:
|
|
433
367
|
# user = dataset.entity "User", "heidi@example.com" do |u|
|
|
434
368
|
# u["name"] = "Heidi Henderson"
|
|
435
369
|
# end
|
|
436
370
|
#
|
|
437
|
-
#
|
|
438
|
-
#
|
|
371
|
+
# @example The previous example is equivalent to:
|
|
439
372
|
# key = Gcloud::Datastore::Key.new "User", "heidi@example.com"
|
|
440
373
|
# entity = Gcloud::Datastore::Entity.new
|
|
441
374
|
# entity.key = key
|
|
@@ -477,15 +410,15 @@ module Gcloud
|
|
|
477
410
|
end
|
|
478
411
|
|
|
479
412
|
##
|
|
480
|
-
# Save a key to be given an ID when comitted.
|
|
481
|
-
def auto_id_register entity
|
|
413
|
+
# @private Save a key to be given an ID when comitted.
|
|
414
|
+
def auto_id_register entity
|
|
482
415
|
@_auto_id_entities ||= []
|
|
483
416
|
@_auto_id_entities << entity
|
|
484
417
|
end
|
|
485
418
|
|
|
486
419
|
##
|
|
487
|
-
# Update saved keys with new IDs post-commit.
|
|
488
|
-
def auto_id_assign_ids auto_ids
|
|
420
|
+
# @private Update saved keys with new IDs post-commit.
|
|
421
|
+
def auto_id_assign_ids auto_ids
|
|
489
422
|
@_auto_id_entities ||= []
|
|
490
423
|
Array(auto_ids).each_with_index do |key, index|
|
|
491
424
|
entity = @_auto_id_entities[index]
|
|
@@ -495,9 +428,9 @@ module Gcloud
|
|
|
495
428
|
end
|
|
496
429
|
|
|
497
430
|
##
|
|
498
|
-
# Add entities to a Mutation, and register they key to be
|
|
431
|
+
# @private Add entities to a Mutation, and register they key to be
|
|
499
432
|
# updated with an auto ID if needed.
|
|
500
|
-
def save_entities_to_mutation entities, mutation
|
|
433
|
+
def save_entities_to_mutation entities, mutation
|
|
501
434
|
entities.each do |entity|
|
|
502
435
|
if entity.key.id.nil? && entity.key.name.nil?
|
|
503
436
|
mutation.insert_auto_id << entity.to_proto
|