google-cloud-datastore 1.8.0 → 2.2.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/AUTHENTICATION.md +2 -1
- data/CHANGELOG.md +47 -0
- data/CONTRIBUTING.md +2 -2
- data/LOGGING.md +1 -1
- data/TROUBLESHOOTING.md +2 -8
- data/lib/google-cloud-datastore.rb +13 -18
- data/lib/google/cloud/datastore.rb +12 -11
- data/lib/google/cloud/datastore/commit.rb +4 -4
- data/lib/google/cloud/datastore/convert.rb +4 -4
- data/lib/google/cloud/datastore/credentials.rb +2 -2
- data/lib/google/cloud/datastore/dataset.rb +3 -3
- data/lib/google/cloud/datastore/dataset/lookup_results.rb +5 -5
- data/lib/google/cloud/datastore/dataset/query_results.rb +6 -6
- data/lib/google/cloud/datastore/entity.rb +4 -4
- data/lib/google/cloud/datastore/gql_query.rb +19 -23
- data/lib/google/cloud/datastore/key.rb +9 -8
- data/lib/google/cloud/datastore/properties.rb +1 -1
- data/lib/google/cloud/datastore/query.rb +15 -14
- data/lib/google/cloud/datastore/service.rb +34 -86
- data/lib/google/cloud/datastore/transaction.rb +1 -1
- data/lib/google/cloud/datastore/version.rb +1 -1
- metadata +13 -68
- data/lib/google/cloud/datastore/v1.rb +0 -16
- data/lib/google/cloud/datastore/v1/credentials.rb +0 -39
- data/lib/google/cloud/datastore/v1/datastore_client.rb +0 -577
- data/lib/google/cloud/datastore/v1/datastore_client_config.json +0 -61
- data/lib/google/cloud/datastore/v1/doc/google/datastore/v1/datastore.rb +0 -283
- data/lib/google/cloud/datastore/v1/doc/google/datastore/v1/entity.rb +0 -189
- data/lib/google/cloud/datastore/v1/doc/google/datastore/v1/query.rb +0 -297
- data/lib/google/cloud/datastore/v1/doc/google/protobuf/struct.rb +0 -74
- data/lib/google/cloud/datastore/v1/doc/google/protobuf/timestamp.rb +0 -109
- data/lib/google/cloud/datastore/v1/doc/google/protobuf/wrappers.rb +0 -26
- data/lib/google/cloud/datastore/v1/doc/google/type/latlng.rb +0 -65
- data/lib/google/datastore/v1/datastore_pb.rb +0 -147
- data/lib/google/datastore/v1/datastore_services_pb.rb +0 -65
- data/lib/google/datastore/v1/entity_pb.rb +0 -64
- data/lib/google/datastore/v1/query_pb.rb +0 -132
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cc84b3b7cf1ffd53fb9014894883cf4a6245a105365c97c5a4665abd2241ff0
|
4
|
+
data.tar.gz: 9b7acbddf571fd3b5c02b926fc676cfa0ed20bcda6eebaf02b7162c819585ae4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd15c934e7ca1296df239924f55a02b2c105756cdbd60ffb538371bef4ff94176a04969678ed51e9337ad4b94d6d7faeb3e2366ac5c968225b7ddc9d4da1d86b
|
7
|
+
data.tar.gz: 31e397c409100133092611020ca472c671e8be85d1932be97cb3399c4ee576654f8a4018f98c9f6119be3881893d614b622a2243d13298b856ea359a83a58351
|
data/AUTHENTICATION.md
CHANGED
@@ -76,7 +76,8 @@ The environment variables that google-cloud-datastore checks for project ID are:
|
|
76
76
|
1. `DATASTORE_PROJECT`
|
77
77
|
2. `GOOGLE_CLOUD_PROJECT`
|
78
78
|
|
79
|
-
The environment variables that google-cloud-datastore checks for credentials are configured on
|
79
|
+
The environment variables that google-cloud-datastore checks for credentials are configured on
|
80
|
+
{Google::Cloud::Datastore::Credentials}:
|
80
81
|
|
81
82
|
1. `DATASTORE_CREDENTIALS` - Path to JSON file, or JSON contents
|
82
83
|
2. `DATASTORE_KEYFILE` - Path to JSON file, or JSON contents
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,52 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 2.2.0 / 2021-03-10
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Drop support for Ruby 2.4 and add support for Ruby 3.0
|
8
|
+
|
9
|
+
### 2.1.0 / 2020-09-17
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* quota_project can be set via library configuration ([#7630](https://www.github.com/googleapis/google-cloud-ruby/issues/7630))
|
14
|
+
|
15
|
+
### 2.0.0 / 2020-08-06
|
16
|
+
|
17
|
+
This is a major update that removes the "low-level" client interface code, and
|
18
|
+
instead adds the new `google-cloud-datastore-v1` gem as a dependency.
|
19
|
+
The new dependency is a rewritten low-level client, produced by a next-
|
20
|
+
generation client code generator, with improved performance and stability.
|
21
|
+
|
22
|
+
This change should have no effect on the high-level interface that most users
|
23
|
+
will use. The one exception is that the (mostly undocumented) `client_config`
|
24
|
+
argument, for adjusting low-level parameters such as RPC retry settings on
|
25
|
+
client objects, has been removed. If you need to adjust these parameters, use
|
26
|
+
the configuration interface in `google-cloud-datastore-v1`.
|
27
|
+
|
28
|
+
Substantial changes have been made in the low-level interfaces, however. If you
|
29
|
+
are using the low-level classes under the `Google::Cloud::Datastore::V1` module,
|
30
|
+
please review the docs for the new `google-cloud-datastore-v1` gem. In
|
31
|
+
particular:
|
32
|
+
|
33
|
+
* Some classes have been renamed, notably the client class itself.
|
34
|
+
* The client constructor takes a configuration block instead of configuration
|
35
|
+
keyword arguments.
|
36
|
+
* All RPC method arguments are now keyword arguments.
|
37
|
+
|
38
|
+
### 1.8.2 / 2020-05-28
|
39
|
+
|
40
|
+
#### Documentation
|
41
|
+
|
42
|
+
* Fix a few broken links
|
43
|
+
|
44
|
+
### 1.8.1 / 2020-05-19
|
45
|
+
|
46
|
+
#### Bug Fixes
|
47
|
+
|
48
|
+
* Adjusted some default timeout and retry settings
|
49
|
+
|
3
50
|
### 1.8.0 / 2020-03-11
|
4
51
|
|
5
52
|
#### Features
|
data/CONTRIBUTING.md
CHANGED
@@ -24,7 +24,7 @@ be able to accept your pull requests.
|
|
24
24
|
In order to use the google-cloud-datastore console and run the project's tests,
|
25
25
|
there is a small amount of setup:
|
26
26
|
|
27
|
-
1. Install Ruby. google-cloud-datastore requires Ruby 2.
|
27
|
+
1. Install Ruby. google-cloud-datastore requires Ruby 2.5+. You may choose to
|
28
28
|
manage your Ruby and gem installations with [RVM](https://rvm.io/),
|
29
29
|
[rbenv](https://github.com/rbenv/rbenv), or
|
30
30
|
[chruby](https://github.com/postmodern/chruby).
|
@@ -45,7 +45,7 @@ there is a small amount of setup:
|
|
45
45
|
|
46
46
|
```sh
|
47
47
|
$ cd google-cloud-datastore/
|
48
|
-
$ bundle
|
48
|
+
$ bundle install
|
49
49
|
```
|
50
50
|
|
51
51
|
## Console
|
data/LOGGING.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
To enable logging for this library, set the logger for the underlying
|
4
4
|
[gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library. The logger
|
5
5
|
that you set may be a Ruby stdlib
|
6
|
-
[`Logger`](https://ruby-doc.org/stdlib
|
6
|
+
[`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as
|
7
7
|
shown below, or a
|
8
8
|
[`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
|
9
9
|
that will write logs to [Stackdriver
|
data/TROUBLESHOOTING.md
CHANGED
@@ -24,14 +24,8 @@ improved, *please* create a new issue on GitHub so we can talk about it.
|
|
24
24
|
|
25
25
|
- [New issue][gh-ruby]
|
26
26
|
|
27
|
-
Or, you can ask questions on the [Google Cloud Platform Slack][slack-ruby]. You
|
28
|
-
can use the "ruby" channel for general Ruby questions, or use the
|
29
|
-
"google-cloud-ruby" channel if you have questions about this gem in particular.
|
30
|
-
|
31
27
|
[so-ruby]: http://stackoverflow.com/questions/tagged/google-cloud-platform+ruby+datastore
|
32
28
|
|
33
|
-
[gh-search-ruby]: https://github.com/
|
34
|
-
|
35
|
-
[gh-ruby]: https://github.com/googlecloudplatform/google-cloud-ruby/issues/new
|
29
|
+
[gh-search-ruby]: https://github.com/googleapis/google-cloud-ruby/issues?q=label%3A%22api%3A+datastore%22
|
36
30
|
|
37
|
-
[
|
31
|
+
[gh-ruby]: https://github.com/googleapis/google-cloud-ruby/issues/new
|
@@ -42,8 +42,6 @@ module Google
|
|
42
42
|
#
|
43
43
|
# * `https://www.googleapis.com/auth/datastore`
|
44
44
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
45
|
-
# @param [Hash] client_config A hash of values to override the default
|
46
|
-
# behavior of the API client. See Google::Gax::CallSettings. Optional.
|
47
45
|
#
|
48
46
|
# @return [Google::Cloud::Datastore::Dataset]
|
49
47
|
#
|
@@ -69,10 +67,9 @@ module Google
|
|
69
67
|
# platform_scope = "https://www.googleapis.com/auth/cloud-platform"
|
70
68
|
# datastore = gcloud.datastore scope: platform_scope
|
71
69
|
#
|
72
|
-
def datastore scope: nil, timeout: nil
|
70
|
+
def datastore scope: nil, timeout: nil
|
73
71
|
Google::Cloud.datastore @project, @keyfile,
|
74
|
-
scope: scope, timeout: (timeout || @timeout)
|
75
|
-
client_config: client_config
|
72
|
+
scope: scope, timeout: (timeout || @timeout)
|
76
73
|
end
|
77
74
|
|
78
75
|
##
|
@@ -96,8 +93,6 @@ module Google
|
|
96
93
|
#
|
97
94
|
# * `https://www.googleapis.com/auth/datastore`
|
98
95
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
99
|
-
# @param [Hash] client_config A hash of values to override the default
|
100
|
-
# behavior of the API client. See Google::Gax::CallSettings. Optional.
|
101
96
|
#
|
102
97
|
# @return [Google::Cloud::Datastore::Dataset]
|
103
98
|
#
|
@@ -117,12 +112,11 @@ module Google
|
|
117
112
|
# datastore.save task
|
118
113
|
#
|
119
114
|
def self.datastore project_id = nil, credentials = nil, scope: nil,
|
120
|
-
timeout: nil
|
115
|
+
timeout: nil
|
121
116
|
require "google/cloud/datastore"
|
122
117
|
Google::Cloud::Datastore.new project_id: project_id,
|
123
118
|
credentials: credentials,
|
124
|
-
scope: scope, timeout: timeout
|
125
|
-
client_config: client_config
|
119
|
+
scope: scope, timeout: timeout
|
126
120
|
end
|
127
121
|
end
|
128
122
|
end
|
@@ -141,17 +135,18 @@ Google::Cloud.configure.add_config! :datastore do |config|
|
|
141
135
|
default_emulator = Google::Cloud::Config.deferred do
|
142
136
|
ENV["DATASTORE_EMULATOR_HOST"]
|
143
137
|
end
|
138
|
+
default_scopes = [
|
139
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
140
|
+
"https://www.googleapis.com/auth/datastore"
|
141
|
+
]
|
144
142
|
|
145
143
|
config.add_field! :project_id, default_project, match: String, allow_nil: true
|
146
144
|
config.add_alias! :project, :project_id
|
147
|
-
config.add_field! :credentials, default_creds,
|
148
|
-
match: [String, Hash, Google::Auth::Credentials],
|
149
|
-
allow_nil: true
|
145
|
+
config.add_field! :credentials, default_creds, match: [String, Hash, Google::Auth::Credentials], allow_nil: true
|
150
146
|
config.add_alias! :keyfile, :credentials
|
151
|
-
config.add_field! :scope,
|
147
|
+
config.add_field! :scope, default_scopes, match: [String, Array]
|
148
|
+
config.add_field! :quota_project, nil, match: String
|
152
149
|
config.add_field! :timeout, nil, match: Integer
|
153
|
-
config.add_field! :
|
154
|
-
config.add_field! :
|
155
|
-
match: String, allow_nil: true
|
156
|
-
config.add_field! :endpoint, nil, match: String
|
150
|
+
config.add_field! :emulator_host, default_emulator, match: String, allow_nil: true
|
151
|
+
config.add_field! :endpoint, "datastore.googleapis.com", match: String
|
157
152
|
end
|
@@ -70,8 +70,6 @@ module Google
|
|
70
70
|
#
|
71
71
|
# * `https://www.googleapis.com/auth/datastore`
|
72
72
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
73
|
-
# @param [Hash] client_config A hash of values to override the default
|
74
|
-
# behavior of the API client. See Google::Gax::CallSettings. Optional.
|
75
73
|
# @param [String] endpoint Override of the endpoint host name. Optional.
|
76
74
|
# If the param is nil, uses the default endpoint.
|
77
75
|
# @param [String] emulator_host Datastore emulator host. Optional.
|
@@ -99,13 +97,17 @@ module Google
|
|
99
97
|
#
|
100
98
|
# datastore.save task
|
101
99
|
#
|
102
|
-
def self.new project_id: nil,
|
103
|
-
|
104
|
-
|
100
|
+
def self.new project_id: nil,
|
101
|
+
credentials: nil,
|
102
|
+
scope: nil,
|
103
|
+
timeout: nil,
|
104
|
+
endpoint: nil,
|
105
|
+
emulator_host: nil,
|
106
|
+
project: nil,
|
107
|
+
keyfile: nil
|
105
108
|
project_id ||= (project || default_project_id)
|
106
109
|
scope ||= configure.scope
|
107
110
|
timeout ||= configure.timeout
|
108
|
-
client_config ||= configure.client_config
|
109
111
|
endpoint ||= configure.endpoint
|
110
112
|
emulator_host ||= configure.emulator_host
|
111
113
|
|
@@ -116,8 +118,7 @@ module Google
|
|
116
118
|
return Datastore::Dataset.new(
|
117
119
|
Datastore::Service.new(
|
118
120
|
project_id, :this_channel_is_insecure,
|
119
|
-
host: emulator_host, timeout: timeout
|
120
|
-
client_config: client_config
|
121
|
+
host: emulator_host, timeout: timeout
|
121
122
|
)
|
122
123
|
)
|
123
124
|
end
|
@@ -136,7 +137,7 @@ module Google
|
|
136
137
|
Datastore::Dataset.new(
|
137
138
|
Datastore::Service.new(
|
138
139
|
project_id, credentials,
|
139
|
-
host: endpoint, timeout: timeout
|
140
|
+
host: endpoint, timeout: timeout
|
140
141
|
)
|
141
142
|
)
|
142
143
|
end
|
@@ -158,8 +159,6 @@ module Google
|
|
158
159
|
# * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
|
159
160
|
# the set of resources and operations that the connection can access.
|
160
161
|
# * `timeout` - (Integer) Default timeout to use in requests.
|
161
|
-
# * `client_config` - (Hash) A hash of values to override the default
|
162
|
-
# behavior of the API client.
|
163
162
|
# * `endpoint` - (String) Override of the endpoint host name, or `nil`
|
164
163
|
# to use the default endpoint.
|
165
164
|
# * `emulator_host` - (String) Host name of the emulator. Defaults to
|
@@ -191,4 +190,6 @@ module Google
|
|
191
190
|
end
|
192
191
|
end
|
193
192
|
end
|
193
|
+
## Legacy generated client namespace
|
194
|
+
Datastore = Cloud::Datastore unless const_defined? :Datastore
|
194
195
|
end
|
@@ -136,16 +136,16 @@ module Google
|
|
136
136
|
def mutations
|
137
137
|
mutations = []
|
138
138
|
mutations += @shared_upserts.map do |entity|
|
139
|
-
Google::Datastore::V1::Mutation.new upsert: entity.to_grpc
|
139
|
+
Google::Cloud::Datastore::V1::Mutation.new upsert: entity.to_grpc
|
140
140
|
end
|
141
141
|
mutations += @shared_inserts.map do |entity|
|
142
|
-
Google::Datastore::V1::Mutation.new insert: entity.to_grpc
|
142
|
+
Google::Cloud::Datastore::V1::Mutation.new insert: entity.to_grpc
|
143
143
|
end
|
144
144
|
mutations += @shared_updates.map do |entity|
|
145
|
-
Google::Datastore::V1::Mutation.new update: entity.to_grpc
|
145
|
+
Google::Cloud::Datastore::V1::Mutation.new update: entity.to_grpc
|
146
146
|
end
|
147
147
|
mutations += @shared_deletes.map do |key|
|
148
|
-
Google::Datastore::V1::Mutation.new delete: key.to_grpc
|
148
|
+
Google::Cloud::Datastore::V1::Mutation.new delete: key.to_grpc
|
149
149
|
end
|
150
150
|
mutations
|
151
151
|
end
|
@@ -77,7 +77,7 @@ module Google
|
|
77
77
|
end
|
78
78
|
|
79
79
|
##
|
80
|
-
# Gets an object from a Google::Datastore::V1::Value.
|
80
|
+
# Gets an object from a Google::Cloud::Datastore::V1::Value.
|
81
81
|
def self.from_value grpc_value
|
82
82
|
if grpc_value.value_type == :null_value
|
83
83
|
return nil
|
@@ -110,9 +110,9 @@ module Google
|
|
110
110
|
end
|
111
111
|
|
112
112
|
##
|
113
|
-
# Stores an object into a Google::Datastore::V1::Value.
|
113
|
+
# Stores an object into a Google::Cloud::Datastore::V1::Value.
|
114
114
|
def self.to_value value
|
115
|
-
v = Google::Datastore::V1::Value.new
|
115
|
+
v = Google::Cloud::Datastore::V1::Value.new
|
116
116
|
if NilClass === value
|
117
117
|
v.null_value = :NULL_VALUE
|
118
118
|
elsif TrueClass === value
|
@@ -133,7 +133,7 @@ module Google
|
|
133
133
|
elsif String === value
|
134
134
|
v.string_value = value
|
135
135
|
elsif Array === value
|
136
|
-
v.array_value = Google::Datastore::V1::ArrayValue.new(
|
136
|
+
v.array_value = Google::Cloud::Datastore::V1::ArrayValue.new(
|
137
137
|
values: value.map { |val| to_value val }
|
138
138
|
)
|
139
139
|
elsif value.respond_to? :to_time
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
require "googleauth"
|
17
|
-
require "google/cloud/datastore/v1/credentials"
|
17
|
+
require "google/cloud/datastore/v1/datastore/credentials"
|
18
18
|
|
19
19
|
module Google
|
20
20
|
module Cloud
|
@@ -38,7 +38,7 @@ module Google
|
|
38
38
|
#
|
39
39
|
# datastore.project_id #=> "my-todo-project"
|
40
40
|
#
|
41
|
-
class Credentials < Google::Cloud::Datastore::V1::Credentials
|
41
|
+
class Credentials < Google::Cloud::Datastore::V1::Datastore::Credentials
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -535,9 +535,9 @@ module Google
|
|
535
535
|
begin
|
536
536
|
yield tx
|
537
537
|
tx.commit
|
538
|
-
rescue Google::Cloud::UnavailableError =>
|
538
|
+
rescue Google::Cloud::UnavailableError => e
|
539
539
|
# Re-raise if deadline has passed
|
540
|
-
raise
|
540
|
+
raise e if Time.now - start_time > deadline
|
541
541
|
|
542
542
|
# Sleep with incremental backoff
|
543
543
|
sleep backoff *= 1.3
|
@@ -878,7 +878,7 @@ module Google
|
|
878
878
|
|
879
879
|
def validate_deadline deadline
|
880
880
|
return 60 unless deadline.is_a? Numeric
|
881
|
-
return 60 if deadline
|
881
|
+
return 60 if deadline.negative?
|
882
882
|
deadline
|
883
883
|
end
|
884
884
|
|
@@ -167,17 +167,17 @@ module Google
|
|
167
167
|
# puts "Task #{t.key.id} (#cursor)"
|
168
168
|
# end
|
169
169
|
#
|
170
|
-
def all request_limit: nil
|
170
|
+
def all request_limit: nil, &block
|
171
171
|
request_limit = request_limit.to_i if request_limit
|
172
172
|
unless block_given?
|
173
173
|
return enum_for :all, request_limit: request_limit
|
174
174
|
end
|
175
175
|
results = self
|
176
176
|
loop do
|
177
|
-
results.each
|
177
|
+
results.each(&block)
|
178
178
|
if request_limit
|
179
179
|
request_limit -= 1
|
180
|
-
break if request_limit
|
180
|
+
break if request_limit.negative?
|
181
181
|
end
|
182
182
|
break unless results.next?
|
183
183
|
results = results.next
|
@@ -187,14 +187,14 @@ module Google
|
|
187
187
|
##
|
188
188
|
# @private New Dataset::LookupResults from a
|
189
189
|
# Google::Dataset::V1::LookupResponse object.
|
190
|
-
def self.from_grpc lookup_res, service, consistency = nil,
|
190
|
+
def self.from_grpc lookup_res, service, consistency = nil, transaction = nil
|
191
191
|
entities = to_gcloud_entities lookup_res.found
|
192
192
|
deferred = to_gcloud_keys lookup_res.deferred
|
193
193
|
missing = to_gcloud_entities lookup_res.missing
|
194
194
|
new(entities).tap do |lr|
|
195
195
|
lr.instance_variable_set :@service, service
|
196
196
|
lr.instance_variable_set :@consistency, consistency
|
197
|
-
lr.instance_variable_set :@transaction,
|
197
|
+
lr.instance_variable_set :@transaction, transaction
|
198
198
|
lr.instance_variable_set :@deferred, deferred
|
199
199
|
lr.instance_variable_set :@missing, missing
|
200
200
|
end
|
@@ -266,17 +266,17 @@ module Google
|
|
266
266
|
# puts "Task #{t.key.id} (#cursor)"
|
267
267
|
# end
|
268
268
|
#
|
269
|
-
def all request_limit: nil
|
269
|
+
def all request_limit: nil, &block
|
270
270
|
request_limit = request_limit.to_i if request_limit
|
271
271
|
unless block_given?
|
272
272
|
return enum_for :all, request_limit: request_limit
|
273
273
|
end
|
274
274
|
results = self
|
275
275
|
loop do
|
276
|
-
results.each
|
276
|
+
results.each(&block)
|
277
277
|
if request_limit
|
278
278
|
request_limit -= 1
|
279
|
-
break if request_limit
|
279
|
+
break if request_limit.negative?
|
280
280
|
end
|
281
281
|
break unless results.next?
|
282
282
|
results = results.next
|
@@ -335,7 +335,7 @@ module Google
|
|
335
335
|
# puts "Task #{task.key.id} (#cursor)"
|
336
336
|
# end
|
337
337
|
#
|
338
|
-
def all_with_cursor request_limit: nil
|
338
|
+
def all_with_cursor request_limit: nil, &block
|
339
339
|
request_limit = request_limit.to_i if request_limit
|
340
340
|
unless block_given?
|
341
341
|
return enum_for :all_with_cursor, request_limit: request_limit
|
@@ -343,10 +343,10 @@ module Google
|
|
343
343
|
results = self
|
344
344
|
|
345
345
|
loop do
|
346
|
-
results.zip(results.cursors).each
|
346
|
+
results.zip(results.cursors).each(&block)
|
347
347
|
if request_limit
|
348
348
|
request_limit -= 1
|
349
|
-
break if request_limit
|
349
|
+
break if request_limit.negative?
|
350
350
|
end
|
351
351
|
break unless results.next?
|
352
352
|
results = results.next
|
@@ -293,7 +293,7 @@ module Google
|
|
293
293
|
# task.persisted? #=> true
|
294
294
|
#
|
295
295
|
def persisted?
|
296
|
-
@key
|
296
|
+
@key&.frozen?
|
297
297
|
end
|
298
298
|
|
299
299
|
##
|
@@ -427,10 +427,10 @@ module Google
|
|
427
427
|
end
|
428
428
|
|
429
429
|
##
|
430
|
-
# @private Convert the Entity to a Google::Datastore::V1::Entity
|
430
|
+
# @private Convert the Entity to a Google::Cloud::Datastore::V1::Entity
|
431
431
|
# object.
|
432
432
|
def to_grpc
|
433
|
-
grpc = Google::Datastore::V1::Entity.new(
|
433
|
+
grpc = Google::Cloud::Datastore::V1::Entity.new(
|
434
434
|
properties: @properties.to_grpc
|
435
435
|
)
|
436
436
|
grpc.key = @key.to_grpc unless @key.nil?
|
@@ -439,7 +439,7 @@ module Google
|
|
439
439
|
end
|
440
440
|
|
441
441
|
##
|
442
|
-
# @private Create a new Entity from a Google::Datastore::V1::Key
|
442
|
+
# @private Create a new Entity from a Google::Cloud::Datastore::V1::Key
|
443
443
|
# object.
|
444
444
|
def self.from_grpc grpc
|
445
445
|
entity = Entity.new
|