google-cloud-datastore 0.24.2 → 1.0.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 +4 -4
- data/README.md +1 -1
- data/lib/google/cloud/datastore.rb +20 -5
- data/lib/google/cloud/datastore/dataset.rb +9 -10
- data/lib/google/cloud/datastore/dataset/lookup_results.rb +5 -5
- data/lib/google/cloud/datastore/dataset/query_results.rb +5 -5
- data/lib/google/cloud/datastore/key.rb +4 -1
- data/lib/google/cloud/datastore/query.rb +12 -3
- data/lib/google/cloud/datastore/transaction.rb +1 -1
- data/lib/google/cloud/datastore/v1/datastore_client.rb +7 -6
- data/lib/google/cloud/datastore/v1/datastore_client_config.json +3 -1
- data/lib/google/cloud/datastore/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 559613c74ca35117a66212cce1a9ad90a1e5ccc2
|
4
|
+
data.tar.gz: 0c4f32aeeb33dfe3d9f3f180e259fb84b3064798
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb046b91614d0fc04a8709684f1df2de02f573f6b5ddb9e275b2d9b705666c8ae55269d276dd3b650495315b57c6d1150ad46d9fbfd09ec3f641d9cbe5b110ba
|
7
|
+
data.tar.gz: 26a675b75579cf7edc42f0c4178fc821c865e567da3c279dbc95a0c42dc89c8f2885e7d28443f307150008b5f91b7a531d5ceed57508f94c0702c4df18891080
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Follow the [activation instructions](https://cloud.google.com/datastore/docs/activate) to use the Google Cloud Datastore API with your project.
|
6
6
|
|
7
|
-
- [google-cloud-datastore API documentation](http://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-datastore/
|
7
|
+
- [google-cloud-datastore API documentation](http://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-datastore/latest)
|
8
8
|
- [google-cloud-datastore on RubyGems](https://rubygems.org/gems/google-cloud-datastore)
|
9
9
|
- [Google Cloud Datastore documentation](https://cloud.google.com/datastore/docs)
|
10
10
|
|
@@ -61,7 +61,7 @@ module Google
|
|
61
61
|
# Records, called "entities" in Datastore, are retrieved by using a key.
|
62
62
|
# The key is more than a numeric identifier, it is a complex data structure
|
63
63
|
# that can be used to model relationships. The simplest key has a string
|
64
|
-
# <tt>kind</tt> value
|
64
|
+
# <tt>kind</tt> value and either a numeric <tt>id</tt> value or a string
|
65
65
|
# <tt>name</tt> value. A single record can be retrieved by calling
|
66
66
|
# {Google::Cloud::Datastore::Dataset#find} and passing the parts of the key:
|
67
67
|
#
|
@@ -130,6 +130,21 @@ module Google
|
|
130
130
|
# tasks = datastore.run query
|
131
131
|
# ```
|
132
132
|
#
|
133
|
+
# When using Datastore in a multitenant application, a query may be run
|
134
|
+
# within a namespace using the `namespace` option. (See
|
135
|
+
# [Multitenancy](https://cloud.google.com/datastore/docs/concepts/multitenancy))
|
136
|
+
#
|
137
|
+
# ```ruby
|
138
|
+
# require "google/cloud/datastore"
|
139
|
+
#
|
140
|
+
# datastore = Google::Cloud::Datastore.new
|
141
|
+
#
|
142
|
+
# query = datastore.query("Task").
|
143
|
+
# where("done", "=", false)
|
144
|
+
#
|
145
|
+
# tasks = datastore.run query, namespace: "example-ns"
|
146
|
+
# ```
|
147
|
+
#
|
133
148
|
# Records' key structures can also be queried.
|
134
149
|
# (See {Google::Cloud::Datastore::Query#ancestor})
|
135
150
|
#
|
@@ -161,7 +176,7 @@ module Google
|
|
161
176
|
#
|
162
177
|
# query = datastore.query("Task")
|
163
178
|
# tasks = datastore.run query
|
164
|
-
# tasks.all do |
|
179
|
+
# tasks.all do |t|
|
165
180
|
# puts t["description"]
|
166
181
|
# end
|
167
182
|
# ```
|
@@ -242,8 +257,8 @@ module Google
|
|
242
257
|
#
|
243
258
|
# Entities hold properties. A property has a name that is a string or
|
244
259
|
# symbol, and a value that is an object. Most value objects are supported,
|
245
|
-
# including String
|
246
|
-
# objects. Changes to the entity's properties are persisted by calling
|
260
|
+
# including `String`, `Integer`, `Date`, `Time`, and even other entity or
|
261
|
+
# key objects. Changes to the entity's properties are persisted by calling
|
247
262
|
# {Google::Cloud::Datastore::Dataset#save}.
|
248
263
|
#
|
249
264
|
# ```ruby
|
@@ -302,7 +317,7 @@ module Google
|
|
302
317
|
#
|
303
318
|
# ## Transactions
|
304
319
|
#
|
305
|
-
# Complex logic can be wrapped in a
|
320
|
+
# Complex logic can be wrapped in a transaction. All queries and updates
|
306
321
|
# within the {Google::Cloud::Datastore::Dataset#transaction} block are run
|
307
322
|
# within the transaction scope, and will be automatically committed when the
|
308
323
|
# block completes.
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
|
16
|
-
require "google/cloud/
|
16
|
+
require "google/cloud/env"
|
17
17
|
require "google/cloud/datastore/convert"
|
18
18
|
require "google/cloud/datastore/credentials"
|
19
19
|
require "google/cloud/datastore/service"
|
@@ -35,10 +35,9 @@ module Google
|
|
35
35
|
# Dataset is the data saved in a project's Datastore.
|
36
36
|
# Dataset is analogous to a database in relational database world.
|
37
37
|
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
41
|
-
# Google::Cloud::Datastore::Dataset.
|
38
|
+
# Dataset is the main object for interacting with Google Datastore.
|
39
|
+
# {Google::Cloud::Datastore::Entity} objects are created, read, updated,
|
40
|
+
# and deleted by Dataset.
|
42
41
|
#
|
43
42
|
# See {Google::Cloud#datastore}
|
44
43
|
#
|
@@ -89,7 +88,7 @@ module Google
|
|
89
88
|
ENV["DATASTORE_PROJECT"] ||
|
90
89
|
ENV["GOOGLE_CLOUD_PROJECT"] ||
|
91
90
|
ENV["GCLOUD_PROJECT"] ||
|
92
|
-
Google::Cloud
|
91
|
+
Google::Cloud.env.project_id
|
93
92
|
end
|
94
93
|
|
95
94
|
##
|
@@ -430,7 +429,7 @@ module Google
|
|
430
429
|
#
|
431
430
|
# query = datastore.query("Task").
|
432
431
|
# where("done", "=", false)
|
433
|
-
# tasks = datastore.run query, namespace: "ns
|
432
|
+
# tasks = datastore.run query, namespace: "example-ns"
|
434
433
|
#
|
435
434
|
# @example Run the query with a GQL string.
|
436
435
|
# require "google/cloud/datastore"
|
@@ -448,7 +447,7 @@ module Google
|
|
448
447
|
#
|
449
448
|
# gql_query = datastore.gql "SELECT * FROM Task WHERE done = @done",
|
450
449
|
# done: false
|
451
|
-
# tasks = datastore.run gql_query, namespace: "ns
|
450
|
+
# tasks = datastore.run gql_query, namespace: "example-ns"
|
452
451
|
#
|
453
452
|
def run query, namespace: nil, consistency: nil
|
454
453
|
ensure_service!
|
@@ -676,10 +675,10 @@ module Google
|
|
676
675
|
#
|
677
676
|
# key = datastore.key ["TaskList", "default"], ["Task", "sampleTask"],
|
678
677
|
# project: "my-todo-project",
|
679
|
-
# namespace: "ns
|
678
|
+
# namespace: "example-ns"
|
680
679
|
# key.path #=> [["TaskList", "default"], ["Task", "sampleTask"]]
|
681
680
|
# key.project #=> "my-todo-project"
|
682
|
-
# key.namespace #=> "ns
|
681
|
+
# key.namespace #=> "example-ns"
|
683
682
|
#
|
684
683
|
def key *path, project: nil, namespace: nil
|
685
684
|
path = path.flatten.each_slice(2).to_a # group in pairs
|
@@ -47,7 +47,7 @@ module Google
|
|
47
47
|
# tasks.size #=> 3
|
48
48
|
# tasks.deferred #=> []
|
49
49
|
# tasks.missing #=> []
|
50
|
-
# descriptions = tasks.map { |
|
50
|
+
# descriptions = tasks.map { |t| t["description"] }
|
51
51
|
# descriptions.size #=> 3
|
52
52
|
# descriptions.deferred #=> raise NoMethodError
|
53
53
|
# descriptions.missing #=> raise NoMethodError
|
@@ -140,8 +140,8 @@ module Google
|
|
140
140
|
# task_key1 = datastore.key "Task", "sampleTask1"
|
141
141
|
# task_key2 = datastore.key "Task", "sampleTask2"
|
142
142
|
# tasks = datastore.find_all task_key1, task_key2
|
143
|
-
# tasks.all do |
|
144
|
-
# puts "Task #{
|
143
|
+
# tasks.all do |t|
|
144
|
+
# puts "Task #{t.key.id} (#cursor)"
|
145
145
|
# end
|
146
146
|
#
|
147
147
|
# @example Using the enumerator by not passing a block:
|
@@ -162,8 +162,8 @@ module Google
|
|
162
162
|
# task_key1 = datastore.key "Task", "sampleTask1"
|
163
163
|
# task_key2 = datastore.key "Task", "sampleTask2"
|
164
164
|
# tasks = datastore.find_all task_key1, task_key2
|
165
|
-
# tasks.all(request_limit: 10) do |
|
166
|
-
# puts "Task #{
|
165
|
+
# tasks.all(request_limit: 10) do |t|
|
166
|
+
# puts "Task #{t.key.id} (#cursor)"
|
167
167
|
# end
|
168
168
|
#
|
169
169
|
def all request_limit: nil
|
@@ -49,7 +49,7 @@ module Google
|
|
49
49
|
#
|
50
50
|
# tasks.size #=> 3
|
51
51
|
# tasks.cursor.to_s #=> "c2Vjb25kLXBhZ2UtY3Vyc29y"
|
52
|
-
# descriptions = tasks.map { |
|
52
|
+
# descriptions = tasks.map { |t| t["description"] }
|
53
53
|
# descriptions.size #=> 3
|
54
54
|
# descriptions.cursor #=> raise NoMethodError
|
55
55
|
#
|
@@ -239,8 +239,8 @@ module Google
|
|
239
239
|
#
|
240
240
|
# query = datastore.query "Task"
|
241
241
|
# tasks = datastore.run query
|
242
|
-
# tasks.all do |
|
243
|
-
# puts "Task #{
|
242
|
+
# tasks.all do |t|
|
243
|
+
# puts "Task #{t.key.id} (#cursor)"
|
244
244
|
# end
|
245
245
|
#
|
246
246
|
# @example Using the enumerator by not passing a block:
|
@@ -261,8 +261,8 @@ module Google
|
|
261
261
|
#
|
262
262
|
# query = datastore.query "Task"
|
263
263
|
# tasks = datastore.run query
|
264
|
-
# tasks.all(request_limit: 10) do |
|
265
|
-
# puts "Task #{
|
264
|
+
# tasks.all(request_limit: 10) do |t|
|
265
|
+
# puts "Task #{t.key.id} (#cursor)"
|
266
266
|
# end
|
267
267
|
#
|
268
268
|
def all request_limit: nil
|
@@ -24,6 +24,9 @@ module Google
|
|
24
24
|
# either a key name string, assigned explicitly by the application, or an
|
25
25
|
# integer numeric ID, assigned automatically by Datastore.
|
26
26
|
#
|
27
|
+
# @see https://cloud.google.com/datastore/docs/concepts/entities Entities,
|
28
|
+
# Properties, and Keys
|
29
|
+
#
|
27
30
|
# @example
|
28
31
|
# require "google/cloud/datastore"
|
29
32
|
#
|
@@ -78,7 +81,7 @@ module Google
|
|
78
81
|
# )
|
79
82
|
#
|
80
83
|
# task = datastore.find "Task", "sampleTask"
|
81
|
-
# task.key.namespace #=> "ns
|
84
|
+
# task.key.namespace #=> "example-ns"
|
82
85
|
#
|
83
86
|
attr_accessor :namespace
|
84
87
|
|
@@ -42,6 +42,15 @@ module Google
|
|
42
42
|
#
|
43
43
|
# tasks = datastore.run query
|
44
44
|
#
|
45
|
+
# @example Run the query within a namespace with the `namespace` option:
|
46
|
+
# require "google/cloud/datastore"
|
47
|
+
#
|
48
|
+
# datastore = Google::Cloud::Datastore.new
|
49
|
+
#
|
50
|
+
# query = datastore.query("Task").
|
51
|
+
# where("done", "=", false)
|
52
|
+
# tasks = datastore.run query, namespace: "example-ns"
|
53
|
+
#
|
45
54
|
class Query
|
46
55
|
##
|
47
56
|
# Returns a new query object.
|
@@ -354,9 +363,9 @@ module Google
|
|
354
363
|
#
|
355
364
|
# priorities = []
|
356
365
|
# percent_completes = []
|
357
|
-
# datastore.run(query).each do |
|
358
|
-
# priorities <<
|
359
|
-
# percent_completes <<
|
366
|
+
# datastore.run(query).each do |t|
|
367
|
+
# priorities << t["priority"]
|
368
|
+
# percent_completes << t["percent_complete"]
|
360
369
|
# end
|
361
370
|
#
|
362
371
|
# @example A keys-only query using the special property `__key__`:
|
@@ -258,7 +258,7 @@ module Google
|
|
258
258
|
# query = Google::Cloud::Datastore::Query.new.kind("Task").
|
259
259
|
# where("done", "=", false)
|
260
260
|
# datastore.transaction do |tx|
|
261
|
-
# tasks = tx.run query, namespace: "ns
|
261
|
+
# tasks = tx.run query, namespace: "example-ns"
|
262
262
|
# end
|
263
263
|
#
|
264
264
|
def run query, namespace: nil
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2017, Google Inc. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -26,6 +26,7 @@ require "json"
|
|
26
26
|
require "pathname"
|
27
27
|
|
28
28
|
require "google/gax"
|
29
|
+
|
29
30
|
require "google/datastore/v1/datastore_pb"
|
30
31
|
|
31
32
|
module Google
|
@@ -277,10 +278,6 @@ module Google
|
|
277
278
|
# The ID of the project against which to make the request.
|
278
279
|
# @param mode [Google::Datastore::V1::CommitRequest::Mode]
|
279
280
|
# The type of commit to perform. Defaults to +TRANSACTIONAL+.
|
280
|
-
# @param transaction [String]
|
281
|
-
# The identifier of the transaction associated with the commit. A
|
282
|
-
# transaction identifier is returned by a call to
|
283
|
-
# Datastore::BeginTransaction.
|
284
281
|
# @param mutations [Array<Google::Datastore::V1::Mutation>]
|
285
282
|
# The mutations to perform.
|
286
283
|
#
|
@@ -295,6 +292,10 @@ module Google
|
|
295
292
|
#
|
296
293
|
# When mode is +NON_TRANSACTIONAL+, no two mutations may affect a single
|
297
294
|
# entity.
|
295
|
+
# @param transaction [String]
|
296
|
+
# The identifier of the transaction associated with the commit. A
|
297
|
+
# transaction identifier is returned by a call to
|
298
|
+
# Datastore::BeginTransaction.
|
298
299
|
# @param options [Google::Gax::CallOptions]
|
299
300
|
# Overrides the default settings for this call, e.g, timeout,
|
300
301
|
# retries, etc.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-datastore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-04-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: '1.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: '1.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: google-gax
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
225
225
|
version: '0'
|
226
226
|
requirements: []
|
227
227
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.6.
|
228
|
+
rubygems_version: 2.6.11
|
229
229
|
signing_key:
|
230
230
|
specification_version: 4
|
231
231
|
summary: API Client library for Google Cloud Datastore
|