google-cloud-datastore 0.20.1 → 0.21.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.
@@ -23,10 +23,9 @@ module Google
23
23
  # QueryResults.
24
24
  #
25
25
  # @example
26
- # require "google/cloud"
26
+ # require "google/cloud/datastore"
27
27
  #
28
- # gcloud = Google::Cloud.new
29
- # datastore = gcloud.datastore
28
+ # datastore = Google::Cloud::Datastore.new
30
29
  #
31
30
  # query = datastore.query("Task").
32
31
  # where("done", "=", false)
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- require "google/cloud/core/gce"
16
+ require "google/cloud/core/environment"
17
17
  require "google/cloud/datastore/grpc_utils"
18
18
  require "google/cloud/datastore/credentials"
19
19
  require "google/cloud/datastore/service"
@@ -43,10 +43,9 @@ module Google
43
43
  # See {Google::Cloud#datastore}
44
44
  #
45
45
  # @example
46
- # require "google/cloud"
46
+ # require "google/cloud/datastore"
47
47
  #
48
- # gcloud = Google::Cloud.new
49
- # datastore = gcloud.datastore
48
+ # datastore = Google::Cloud::Datastore.new
50
49
  #
51
50
  # query = datastore.query("Task").
52
51
  # where("done", "=", false)
@@ -55,7 +54,7 @@ module Google
55
54
  #
56
55
  class Dataset
57
56
  ##
58
- # @private The gRPC Service object.
57
+ # @private The Service object.
59
58
  attr_accessor :service
60
59
 
61
60
  ##
@@ -70,12 +69,13 @@ module Google
70
69
  # The Datastore project connected to.
71
70
  #
72
71
  # @example
73
- # require "google/cloud"
72
+ # require "google/cloud/datastore"
74
73
  #
75
- # gcloud = Google::Cloud.new "my-todo-project",
76
- # "/path/to/keyfile.json"
74
+ # datastore = Google::Cloud::Datastore.new(
75
+ # project: "my-todo-project",
76
+ # keyfile: "/path/to/keyfile.json"
77
+ # )
77
78
  #
78
- # datastore = gcloud.datastore
79
79
  # datastore.project #=> "my-todo-project"
80
80
  #
81
81
  def project
@@ -89,7 +89,7 @@ module Google
89
89
  ENV["DATASTORE_PROJECT"] ||
90
90
  ENV["GOOGLE_CLOUD_PROJECT"] ||
91
91
  ENV["GCLOUD_PROJECT"] ||
92
- Google::Cloud::Core::GCE.project_id
92
+ Google::Cloud::Core::Environment.project_id
93
93
  end
94
94
 
95
95
  ##
@@ -233,8 +233,7 @@ module Google
233
233
  # @return [Boolean] Returns `true` if successful
234
234
  #
235
235
  # @example
236
- # gcloud = Google::Cloud.new
237
- # datastore = gcloud.datastore
236
+ # datastore = Google::Cloud::Datastore.new
238
237
  # datastore.delete task1, task2
239
238
  #
240
239
  def delete *entities_or_keys
@@ -252,8 +251,7 @@ module Google
252
251
  # were persisted.
253
252
  #
254
253
  # @example
255
- # gcloud = Google::Cloud.new
256
- # datastore = gcloud.datastore
254
+ # datastore = Google::Cloud::Datastore.new
257
255
  # datastore.commit do |c|
258
256
  # c.save task3, task4
259
257
  # c.delete task1, task2
@@ -326,8 +324,7 @@ module Google
326
324
  # @return [Google::Cloud::Datastore::Dataset::LookupResults]
327
325
  #
328
326
  # @example
329
- # gcloud = Google::Cloud.new
330
- # datastore = gcloud.datastore
327
+ # datastore = Google::Cloud::Datastore.new
331
328
  #
332
329
  # task_key1 = datastore.key "Task", "sampleTask1"
333
330
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -405,10 +402,9 @@ module Google
405
402
  # @yieldparam [Transaction] tx the transaction object
406
403
  #
407
404
  # @example Runs the given block in a database transaction:
408
- # require "google/cloud"
405
+ # require "google/cloud/datastore"
409
406
  #
410
- # gcloud = Google::Cloud.new
411
- # datastore = gcloud.datastore
407
+ # datastore = Google::Cloud::Datastore.new
412
408
  #
413
409
  # task = datastore.entity "Task", "sampleTask" do |t|
414
410
  # t["type"] = "Personal"
@@ -424,10 +420,9 @@ module Google
424
420
  # end
425
421
  #
426
422
  # @example If no block is given, a Transaction object is returned:
427
- # require "google/cloud"
423
+ # require "google/cloud/datastore"
428
424
  #
429
- # gcloud = Google::Cloud.new
430
- # datastore = gcloud.datastore
425
+ # datastore = Google::Cloud::Datastore.new
431
426
  #
432
427
  # task = datastore.entity "Task", "sampleTask" do |t|
433
428
  # t["type"] = "Personal"
@@ -65,8 +65,7 @@ module Google
65
65
  # @return [Boolean]
66
66
  #
67
67
  # @example
68
- # gcloud = Google::Cloud.new
69
- # datastore = gcloud.datastore
68
+ # datastore = Google::Cloud::Datastore.new
70
69
  #
71
70
  # task_key1 = datastore.key "Task", "sampleTask1"
72
71
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -85,8 +84,7 @@ module Google
85
84
  # @return [LookupResults]
86
85
  #
87
86
  # @example
88
- # gcloud = Google::Cloud.new
89
- # datastore = gcloud.datastore
87
+ # datastore = Google::Cloud::Datastore.new
90
88
  #
91
89
  # task_key1 = datastore.key "Task", "sampleTask1"
92
90
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -123,8 +121,7 @@ module Google
123
121
  # @return [Enumerator]
124
122
  #
125
123
  # @example Iterating each result by passing a block:
126
- # gcloud = Google::Cloud.new
127
- # datastore = gcloud.datastore
124
+ # datastore = Google::Cloud::Datastore.new
128
125
  #
129
126
  # task_key1 = datastore.key "Task", "sampleTask1"
130
127
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -134,8 +131,7 @@ module Google
134
131
  # end
135
132
  #
136
133
  # @example Using the enumerator by not passing a block:
137
- # gcloud = Google::Cloud.new
138
- # datastore = gcloud.datastore
134
+ # datastore = Google::Cloud::Datastore.new
139
135
  #
140
136
  # task_key1 = datastore.key "Task", "sampleTask1"
141
137
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -145,8 +141,7 @@ module Google
145
141
  # end
146
142
  #
147
143
  # @example Limit the number of API calls made:
148
- # gcloud = Google::Cloud.new
149
- # datastore = gcloud.datastore
144
+ # datastore = Google::Cloud::Datastore.new
150
145
  #
151
146
  # task_key1 = datastore.key "Task", "sampleTask1"
152
147
  # task_key2 = datastore.key "Task", "sampleTask2"
@@ -29,10 +29,9 @@ module Google
29
29
  # Many common Array methods will return a new Array instance.
30
30
  #
31
31
  # @example
32
- # require "google/cloud"
32
+ # require "google/cloud/datastore"
33
33
  #
34
- # gcloud = Google::Cloud.new
35
- # datastore = gcloud.datastore
34
+ # datastore = Google::Cloud::Datastore.new
36
35
  #
37
36
  # query = datastore.query("Task")
38
37
  # tasks = datastore.run query
@@ -41,10 +40,9 @@ module Google
41
40
  # tasks.cursor #=> Cursor(c3VwZXJhd2Vzb21lIQ)
42
41
  #
43
42
  # @example Caution, many Array methods will return a new Array instance:
44
- # require "google/cloud"
43
+ # require "google/cloud/datastore"
45
44
  #
46
- # gcloud = Google::Cloud.new
47
- # datastore = gcloud.datastore
45
+ # datastore = Google::Cloud::Datastore.new
48
46
  #
49
47
  # query = datastore.query("Task")
50
48
  # tasks = datastore.run query
@@ -122,10 +120,9 @@ module Google
122
120
  # @return [Boolean]
123
121
  #
124
122
  # @example
125
- # require "google/cloud"
123
+ # require "google/cloud/datastore"
126
124
  #
127
- # gcloud = Google::Cloud.new
128
- # datastore = gcloud.datastore
125
+ # datastore = Google::Cloud::Datastore.new
129
126
  # query = datastore.query "Task"
130
127
  # tasks = datastore.run query
131
128
  #
@@ -143,10 +140,9 @@ module Google
143
140
  # @return [QueryResults]
144
141
  #
145
142
  # @example
146
- # require "google/cloud"
143
+ # require "google/cloud/datastore"
147
144
  #
148
- # gcloud = Google::Cloud.new
149
- # datastore = gcloud.datastore
145
+ # datastore = Google::Cloud::Datastore.new
150
146
  # query = datastore.query "Task"
151
147
  # tasks = datastore.run query
152
148
  #
@@ -171,10 +167,9 @@ module Google
171
167
  # @return [Cursor]
172
168
  #
173
169
  # @example
174
- # require "google/cloud"
170
+ # require "google/cloud/datastore"
175
171
  #
176
- # gcloud = Google::Cloud.new
177
- # datastore = gcloud.datastore
172
+ # datastore = Google::Cloud::Datastore.new
178
173
  # query = datastore.query "Task"
179
174
  # tasks = datastore.run query
180
175
  #
@@ -201,10 +196,9 @@ module Google
201
196
  # @return [Enumerator]
202
197
  #
203
198
  # @example
204
- # require "google/cloud"
199
+ # require "google/cloud/datastore"
205
200
  #
206
- # gcloud = Google::Cloud.new
207
- # datastore = gcloud.datastore
201
+ # datastore = Google::Cloud::Datastore.new
208
202
  # query = datastore.query "Task"
209
203
  # tasks = datastore.run query
210
204
  # tasks.each_with_cursor do |task, cursor|
@@ -235,10 +229,9 @@ module Google
235
229
  # @return [Enumerator]
236
230
  #
237
231
  # @example Iterating each query result by passing a block:
238
- # require "google/cloud"
232
+ # require "google/cloud/datastore"
239
233
  #
240
- # gcloud = Google::Cloud.new
241
- # datastore = gcloud.datastore
234
+ # datastore = Google::Cloud::Datastore.new
242
235
  # query = datastore.query "Task"
243
236
  # tasks = datastore.run query
244
237
  # tasks.all do |task|
@@ -246,10 +239,9 @@ module Google
246
239
  # end
247
240
  #
248
241
  # @example Using the enumerator by not passing a block:
249
- # require "google/cloud"
242
+ # require "google/cloud/datastore"
250
243
  #
251
- # gcloud = Google::Cloud.new
252
- # datastore = gcloud.datastore
244
+ # datastore = Google::Cloud::Datastore.new
253
245
  # query = datastore.query "Task"
254
246
  # tasks = datastore.run query
255
247
  # tasks.all.map(&:key).each do |key|
@@ -257,10 +249,9 @@ module Google
257
249
  # end
258
250
  #
259
251
  # @example Limit the number of API calls made:
260
- # require "google/cloud"
252
+ # require "google/cloud/datastore"
261
253
  #
262
- # gcloud = Google::Cloud.new
263
- # datastore = gcloud.datastore
254
+ # datastore = Google::Cloud::Datastore.new
264
255
  # query = datastore.query "Task"
265
256
  # tasks = datastore.run query
266
257
  # tasks.all(request_limit: 10) do |task|
@@ -306,10 +297,9 @@ module Google
306
297
  # @return [Enumerator]
307
298
  #
308
299
  # @example Iterating all results and cursors by passing a block:
309
- # require "google/cloud"
300
+ # require "google/cloud/datastore"
310
301
  #
311
- # gcloud = Google::Cloud.new
312
- # datastore = gcloud.datastore
302
+ # datastore = Google::Cloud::Datastore.new
313
303
  # query = datastore.query "Task"
314
304
  # tasks = datastore.run query
315
305
  # tasks.all_with_cursor do |task, cursor|
@@ -317,19 +307,17 @@ module Google
317
307
  # end
318
308
  #
319
309
  # @example Using the enumerator by not passing a block:
320
- # require "google/cloud"
310
+ # require "google/cloud/datastore"
321
311
  #
322
- # gcloud = Google::Cloud.new
323
- # datastore = gcloud.datastore
312
+ # datastore = Google::Cloud::Datastore.new
324
313
  # query = datastore.query "Task"
325
314
  # tasks = datastore.run query
326
315
  # tasks.all_with_cursor.count #=> number of result/cursor pairs
327
316
  #
328
317
  # @example Limit the number of API calls made:
329
- # require "google/cloud"
318
+ # require "google/cloud/datastore"
330
319
  #
331
- # gcloud = Google::Cloud.new
332
- # datastore = gcloud.datastore
320
+ # datastore = Google::Cloud::Datastore.new
333
321
  # query = datastore.query "Task"
334
322
  # tasks = datastore.run query
335
323
  # tasks.all_with_cursor(request_limit: 10) do |task, cursor|
@@ -81,43 +81,38 @@ module Google
81
81
  # @return [Object, nil] Returns `nil` if the property doesn't exist
82
82
  #
83
83
  # @example Properties can be retrieved with a string name:
84
- # require "google/cloud"
84
+ # require "google/cloud/datastore"
85
85
  #
86
- # gcloud = Google::Cloud.new
87
- # datastore = gcloud.datastore
86
+ # datastore = Google::Cloud::Datastore.new
88
87
  # task = datastore.find "Task", "sampleTask"
89
88
  # task["description"] #=> "Learn Cloud Datastore"
90
89
  #
91
90
  # @example Or with a symbol name:
92
- # require "google/cloud"
91
+ # require "google/cloud/datastore"
93
92
  #
94
- # gcloud = Google::Cloud.new
95
- # datastore = gcloud.datastore
93
+ # datastore = Google::Cloud::Datastore.new
96
94
  # task = datastore.find "Task", "sampleTask"
97
95
  # task[:description] #=> "Learn Cloud Datastore"
98
96
  #
99
97
  # @example Getting a blob value returns a StringIO object:
100
- # require "google/cloud"
98
+ # require "google/cloud/datastore"
101
99
  #
102
- # gcloud = Google::Cloud.new
103
- # datastore = gcloud.datastore
100
+ # datastore = Google::Cloud::Datastore.new
104
101
  # user = datastore.find "User", "alice"
105
102
  # user["avatar"] #=> StringIO("\x89PNG\r\n\x1A...")
106
103
  #
107
104
  # @example Getting a geo point value returns a Hash:
108
- # require "google/cloud"
105
+ # require "google/cloud/datastore"
109
106
  #
110
- # gcloud = Google::Cloud.new
111
- # datastore = gcloud.datastore
107
+ # datastore = Google::Cloud::Datastore.new
112
108
  # user = datastore.find "User", "alice"
113
109
  # user["location"] #=> { longitude: -122.0862462,
114
110
  # # latitude: 37.4220041 }
115
111
  #
116
112
  # @example Getting a blob value returns a StringIO object:
117
- # require "google/cloud"
113
+ # require "google/cloud/datastore"
118
114
  #
119
- # gcloud = Google::Cloud.new
120
- # datastore = gcloud.datastore
115
+ # datastore = Google::Cloud::Datastore.new
121
116
  # user = datastore.find "User", "alice"
122
117
  # user["avatar"] #=> StringIO("\x89PNG\r\n\x1A...")
123
118
  #
@@ -139,45 +134,40 @@ module Google
139
134
  # @param [Object] prop_value The value of the property.
140
135
  #
141
136
  # @example Properties can be set with a string name:
142
- # require "google/cloud"
137
+ # require "google/cloud/datastore"
143
138
  #
144
- # gcloud = Google::Cloud.new
145
- # datastore = gcloud.datastore
139
+ # datastore = Google::Cloud::Datastore.new
146
140
  # task = datastore.find "Task", "sampleTask"
147
141
  # task["description"] = "Learn Cloud Datastore"
148
142
  # task["tags"] = ["fun", "programming"]
149
143
  #
150
144
  # @example Or with a symbol name:
151
- # require "google/cloud"
145
+ # require "google/cloud/datastore"
152
146
  #
153
- # gcloud = Google::Cloud.new
154
- # datastore = gcloud.datastore
147
+ # datastore = Google::Cloud::Datastore.new
155
148
  # task = datastore.find "Task", "sampleTask"
156
149
  # task[:description] = "Learn Cloud Datastore"
157
150
  # task[:tags] = ["fun", "programming"]
158
151
  #
159
152
  # @example Setting a blob value using an IO:
160
- # require "google/cloud"
153
+ # require "google/cloud/datastore"
161
154
  #
162
- # gcloud = Google::Cloud.new
163
- # datastore = gcloud.datastore
155
+ # datastore = Google::Cloud::Datastore.new
164
156
  # user = datastore.find "User", "alice"
165
157
  # user["avatar"] = File.open "/avatars/alice.png"
166
158
  # user["avatar"] #=> StringIO("\x89PNG\r\n\x1A...")
167
159
  #
168
160
  # @example Setting a geo point value using a Hash:
169
- # require "google/cloud"
161
+ # require "google/cloud/datastore"
170
162
  #
171
- # gcloud = Google::Cloud.new
172
- # datastore = gcloud.datastore
163
+ # datastore = Google::Cloud::Datastore.new
173
164
  # user = datastore.find "User", "alice"
174
165
  # user["location"] = { longitude: -122.0862462, latitude: 37.4220041 }
175
166
  #
176
167
  # @example Setting a blob value using an IO:
177
- # require "google/cloud"
168
+ # require "google/cloud/datastore"
178
169
  #
179
- # gcloud = Google::Cloud.new
180
- # datastore = gcloud.datastore
170
+ # datastore = Google::Cloud::Datastore.new
181
171
  # user = datastore.find "User", "alice"
182
172
  # user["avatar"] = File.open "/avatars/alice.png"
183
173
  # user["avatar"] #=> StringIO("\x89PNG\r\n\x1A...")
@@ -221,19 +211,17 @@ module Google
221
211
  # set a key when immutable will raise a `RuntimeError`.
222
212
  #
223
213
  # @example The key can be set before the entity is saved:
224
- # require "google/cloud"
214
+ # require "google/cloud/datastore"
225
215
  #
226
- # gcloud = Google::Cloud.new
227
- # datastore = gcloud.datastore
216
+ # datastore = Google::Cloud::Datastore.new
228
217
  # task = Google::Cloud::Datastore::Entity.new
229
218
  # task.key = datastore.key "Task"
230
219
  # datastore.save task
231
220
  #
232
221
  # @example Once the entity is saved, the key is frozen and immutable:
233
- # require "google/cloud"
222
+ # require "google/cloud/datastore"
234
223
  #
235
- # gcloud = Google::Cloud.new
236
- # datastore = gcloud.datastore
224
+ # datastore = Google::Cloud::Datastore.new
237
225
  # task = datastore.find "Task", "sampleTask"
238
226
  # task.persisted? #=> true
239
227
  # task.key = datastore.key "Task" #=> RuntimeError
@@ -249,10 +237,9 @@ module Google
249
237
  # Indicates if the record is persisted. Default is false.
250
238
  #
251
239
  # @example
252
- # require "google/cloud"
240
+ # require "google/cloud/datastore"
253
241
  #
254
- # gcloud = Google::Cloud.new
255
- # datastore = gcloud.datastore
242
+ # datastore = Google::Cloud::Datastore.new
256
243
  #
257
244
  # task = Google::Cloud::Datastore::Entity.new
258
245
  # task.persisted? #=> false