google-cloud-datastore 0.20.1 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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