gcloud 0.8.2 → 0.9.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/CHANGELOG.md +26 -0
- data/OVERVIEW.md +10 -8
- data/lib/gcloud.rb +12 -13
- data/lib/gcloud/bigquery/dataset/list.rb +2 -4
- data/lib/gcloud/bigquery/job/list.rb +3 -5
- data/lib/gcloud/bigquery/table/list.rb +3 -5
- data/lib/gcloud/datastore.rb +326 -97
- data/lib/gcloud/datastore/commit.rb +73 -56
- data/lib/gcloud/datastore/credentials.rb +1 -12
- data/lib/gcloud/datastore/cursor.rb +76 -0
- data/lib/gcloud/datastore/dataset.rb +337 -134
- data/lib/gcloud/datastore/dataset/lookup_results.rb +12 -12
- data/lib/gcloud/datastore/dataset/query_results.rb +117 -27
- data/lib/gcloud/datastore/entity.rb +159 -93
- data/lib/gcloud/datastore/errors.rb +0 -21
- data/lib/gcloud/datastore/gql_query.rb +211 -0
- data/lib/gcloud/datastore/grpc_utils.rb +131 -0
- data/lib/gcloud/datastore/key.rb +74 -65
- data/lib/gcloud/datastore/properties.rb +14 -1
- data/lib/gcloud/datastore/query.rb +188 -52
- data/lib/gcloud/datastore/service.rb +161 -0
- data/lib/gcloud/datastore/transaction.rb +175 -60
- data/lib/gcloud/dns/change/list.rb +2 -4
- data/lib/gcloud/dns/record/list.rb +2 -4
- data/lib/gcloud/dns/zone/list.rb +2 -4
- data/lib/gcloud/grpc_utils.rb +11 -0
- data/lib/gcloud/logging/entry.rb +6 -17
- data/lib/gcloud/logging/entry/list.rb +8 -9
- data/lib/gcloud/logging/metric/list.rb +4 -5
- data/lib/gcloud/logging/resource.rb +1 -12
- data/lib/gcloud/logging/resource_descriptor.rb +9 -12
- data/lib/gcloud/logging/resource_descriptor/list.rb +4 -5
- data/lib/gcloud/logging/sink/list.rb +4 -5
- data/lib/gcloud/pubsub/message.rb +1 -3
- data/lib/gcloud/pubsub/subscription.rb +5 -7
- data/lib/gcloud/pubsub/topic.rb +1 -3
- data/lib/gcloud/resource_manager/project/list.rb +2 -4
- data/lib/gcloud/translate/api.rb +5 -3
- data/lib/gcloud/translate/connection.rb +4 -4
- data/lib/gcloud/version.rb +1 -1
- metadata +9 -20
- data/lib/gcloud/datastore/connection.rb +0 -203
- data/lib/gcloud/datastore/proto.rb +0 -266
- data/lib/gcloud/proto/datastore_v1.pb.rb +0 -377
- data/lib/google/protobuf/any.rb +0 -17
- data/lib/google/protobuf/api.rb +0 -31
- data/lib/google/protobuf/duration.rb +0 -17
- data/lib/google/protobuf/empty.rb +0 -15
- data/lib/google/protobuf/field_mask.rb +0 -16
- data/lib/google/protobuf/source_context.rb +0 -16
- data/lib/google/protobuf/struct.rb +0 -35
- data/lib/google/protobuf/timestamp.rb +0 -17
- data/lib/google/protobuf/type.rb +0 -79
- data/lib/google/protobuf/wrappers.rb +0 -48
@@ -76,11 +76,10 @@ module Gcloud
|
|
76
76
|
metrics = new(Array(grpc_list.metrics).map do |grpc_metric|
|
77
77
|
Metric.from_grpc grpc_metric, service
|
78
78
|
end)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
end
|
79
|
+
token = grpc_list.next_page_token
|
80
|
+
token = nil if token == ""
|
81
|
+
metrics.instance_variable_set "@token", token
|
82
|
+
metrics.instance_variable_set "@service", service
|
84
83
|
metrics
|
85
84
|
end
|
86
85
|
|
@@ -76,18 +76,7 @@ module Gcloud
|
|
76
76
|
return new if grpc.nil?
|
77
77
|
new.tap do |r|
|
78
78
|
r.type = grpc.type
|
79
|
-
r.labels = map_to_hash(grpc.labels)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
##
|
84
|
-
# @private Convert a Google::Protobuf::Map to a Hash
|
85
|
-
def self.map_to_hash map
|
86
|
-
if map.respond_to? :to_h
|
87
|
-
map.to_h
|
88
|
-
else
|
89
|
-
# Enumerable doesn't have to_h on ruby 2.0...
|
90
|
-
Hash[map.to_a]
|
79
|
+
r.labels = GRPCUtils.map_to_hash(grpc.labels)
|
91
80
|
end
|
92
81
|
end
|
93
82
|
end
|
@@ -74,14 +74,13 @@ module Gcloud
|
|
74
74
|
# Google::Api::MonitoredResourceDescriptor object.
|
75
75
|
def self.from_grpc grpc
|
76
76
|
r = new
|
77
|
-
r.
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
LabelDescriptor.from_grpc g
|
83
|
-
end
|
77
|
+
r.instance_variable_set "@type", grpc.type
|
78
|
+
r.instance_variable_set "@name", grpc.display_name
|
79
|
+
r.instance_variable_set "@description", grpc.description
|
80
|
+
labels = Array(grpc.labels).map do |g|
|
81
|
+
LabelDescriptor.from_grpc g
|
84
82
|
end
|
83
|
+
r.instance_variable_set "@labels", labels
|
85
84
|
r
|
86
85
|
end
|
87
86
|
|
@@ -127,11 +126,9 @@ module Gcloud
|
|
127
126
|
BOOL: :boolean,
|
128
127
|
INT64: :integer }[grpc.value_type]
|
129
128
|
l = new
|
130
|
-
l.
|
131
|
-
|
132
|
-
|
133
|
-
@description = grpc.description
|
134
|
-
end
|
129
|
+
l.instance_variable_set "@key", grpc.key
|
130
|
+
l.instance_variable_set "@type", type_sym
|
131
|
+
l.instance_variable_set "@description", grpc.description
|
135
132
|
l
|
136
133
|
end
|
137
134
|
end
|
@@ -57,11 +57,10 @@ module Gcloud
|
|
57
57
|
sinks = new(Array(grpc_list.resource_descriptors).map do |grpc|
|
58
58
|
ResourceDescriptor.from_grpc grpc
|
59
59
|
end)
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
end
|
60
|
+
token = grpc_list.next_page_token
|
61
|
+
token = nil if token == ""
|
62
|
+
sinks.instance_variable_set "@token", token
|
63
|
+
sinks.instance_variable_set "@service", service
|
65
64
|
sinks
|
66
65
|
end
|
67
66
|
|
@@ -76,11 +76,10 @@ module Gcloud
|
|
76
76
|
sinks = new(Array(grpc_list.sinks).map do |grpc|
|
77
77
|
Sink.from_grpc grpc, service
|
78
78
|
end)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
end
|
79
|
+
token = grpc_list.next_page_token
|
80
|
+
token = nil if token == ""
|
81
|
+
sinks.instance_variable_set "@token", token
|
82
|
+
sinks.instance_variable_set "@service", service
|
84
83
|
sinks
|
85
84
|
end
|
86
85
|
|
@@ -56,14 +56,12 @@ module Gcloud
|
|
56
56
|
##
|
57
57
|
# @private New lazy {Topic} object without making an HTTP request.
|
58
58
|
def self.new_lazy name, service, options = {}
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
@name = service.subscription_path(name, options)
|
59
|
+
new.tap do |s|
|
60
|
+
s.grpc = nil
|
61
|
+
s.service = service
|
62
|
+
s.instance_variable_set "@name",
|
63
|
+
service.subscription_path(name, options)
|
65
64
|
end
|
66
|
-
sub
|
67
65
|
end
|
68
66
|
|
69
67
|
##
|
data/lib/gcloud/pubsub/topic.rb
CHANGED
@@ -70,10 +70,8 @@ module Gcloud
|
|
70
70
|
projects = new(Array(resp.data["projects"]).map do |gapi_object|
|
71
71
|
Project.from_gapi gapi_object, manager.connection
|
72
72
|
end)
|
73
|
-
projects.
|
74
|
-
|
75
|
-
@manager = manager
|
76
|
-
end
|
73
|
+
projects.instance_variable_set "@token", resp.data["nextPageToken"]
|
74
|
+
projects.instance_variable_set "@manager", manager
|
77
75
|
projects
|
78
76
|
end
|
79
77
|
|
data/lib/gcloud/translate/api.rb
CHANGED
@@ -148,8 +148,9 @@ module Gcloud
|
|
148
148
|
to = to.to_s
|
149
149
|
from = from.to_s if from
|
150
150
|
format = format.to_s if format
|
151
|
-
|
152
|
-
|
151
|
+
text = Array(text).flatten
|
152
|
+
resp = connection.translate(text, to: to, from: from,
|
153
|
+
format: format, cid: cid)
|
153
154
|
fail ApiError.from_response(resp) unless resp.success?
|
154
155
|
Translation.from_response resp, text, to, from
|
155
156
|
end
|
@@ -194,7 +195,8 @@ module Gcloud
|
|
194
195
|
#
|
195
196
|
def detect *text
|
196
197
|
return nil if text.empty?
|
197
|
-
|
198
|
+
text = Array(text).flatten
|
199
|
+
resp = connection.detect(text)
|
198
200
|
fail ApiError.from_response(resp) unless resp.success?
|
199
201
|
Detection.from_response resp, text
|
200
202
|
end
|
@@ -36,8 +36,8 @@ module Gcloud
|
|
36
36
|
@client.key = key # set key after discovery, helps with tests
|
37
37
|
end
|
38
38
|
|
39
|
-
def translate
|
40
|
-
params = { q: text,
|
39
|
+
def translate text, to: nil, from: nil, format: nil, cid: nil
|
40
|
+
params = { q: Array(text),
|
41
41
|
target: to,
|
42
42
|
source: from,
|
43
43
|
format: format,
|
@@ -51,10 +51,10 @@ module Gcloud
|
|
51
51
|
)
|
52
52
|
end
|
53
53
|
|
54
|
-
def detect
|
54
|
+
def detect text
|
55
55
|
@client.execute(
|
56
56
|
api_method: @translate.detections.list,
|
57
|
-
parameters: { q: text, prettyprint: false }
|
57
|
+
parameters: { q: Array(text), prettyprint: false }
|
58
58
|
)
|
59
59
|
end
|
60
60
|
|
data/lib/gcloud/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Silvano Luciani
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-05-
|
13
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: grpc
|
@@ -27,19 +27,19 @@ dependencies:
|
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 0.13.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
30
|
+
name: google-protobuf
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - ~>
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
35
|
+
version: 3.0.0.alpha.5.0.5
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 3.0.0.alpha.5.0.5
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: google-api-client
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,17 +291,19 @@ files:
|
|
291
291
|
- lib/gcloud/credentials.rb
|
292
292
|
- lib/gcloud/datastore.rb
|
293
293
|
- lib/gcloud/datastore/commit.rb
|
294
|
-
- lib/gcloud/datastore/connection.rb
|
295
294
|
- lib/gcloud/datastore/credentials.rb
|
295
|
+
- lib/gcloud/datastore/cursor.rb
|
296
296
|
- lib/gcloud/datastore/dataset.rb
|
297
297
|
- lib/gcloud/datastore/dataset/lookup_results.rb
|
298
298
|
- lib/gcloud/datastore/dataset/query_results.rb
|
299
299
|
- lib/gcloud/datastore/entity.rb
|
300
300
|
- lib/gcloud/datastore/errors.rb
|
301
|
+
- lib/gcloud/datastore/gql_query.rb
|
302
|
+
- lib/gcloud/datastore/grpc_utils.rb
|
301
303
|
- lib/gcloud/datastore/key.rb
|
302
304
|
- lib/gcloud/datastore/properties.rb
|
303
|
-
- lib/gcloud/datastore/proto.rb
|
304
305
|
- lib/gcloud/datastore/query.rb
|
306
|
+
- lib/gcloud/datastore/service.rb
|
305
307
|
- lib/gcloud/datastore/transaction.rb
|
306
308
|
- lib/gcloud/dns.rb
|
307
309
|
- lib/gcloud/dns/change.rb
|
@@ -335,7 +337,6 @@ files:
|
|
335
337
|
- lib/gcloud/logging/service.rb
|
336
338
|
- lib/gcloud/logging/sink.rb
|
337
339
|
- lib/gcloud/logging/sink/list.rb
|
338
|
-
- lib/gcloud/proto/datastore_v1.pb.rb
|
339
340
|
- lib/gcloud/pubsub.rb
|
340
341
|
- lib/gcloud/pubsub/credentials.rb
|
341
342
|
- lib/gcloud/pubsub/message.rb
|
@@ -403,17 +404,7 @@ files:
|
|
403
404
|
- lib/google/logging/v2/logging_services.rb
|
404
405
|
- lib/google/longrunning/operations.rb
|
405
406
|
- lib/google/longrunning/operations_services.rb
|
406
|
-
- lib/google/protobuf/any.rb
|
407
|
-
- lib/google/protobuf/api.rb
|
408
407
|
- lib/google/protobuf/descriptor.rb
|
409
|
-
- lib/google/protobuf/duration.rb
|
410
|
-
- lib/google/protobuf/empty.rb
|
411
|
-
- lib/google/protobuf/field_mask.rb
|
412
|
-
- lib/google/protobuf/source_context.rb
|
413
|
-
- lib/google/protobuf/struct.rb
|
414
|
-
- lib/google/protobuf/timestamp.rb
|
415
|
-
- lib/google/protobuf/type.rb
|
416
|
-
- lib/google/protobuf/wrappers.rb
|
417
408
|
- lib/google/pubsub/v1/pubsub.rb
|
418
409
|
- lib/google/pubsub/v1/pubsub_services.rb
|
419
410
|
- lib/google/pubsub/v1beta2/pubsub.rb
|
@@ -436,8 +427,6 @@ rdoc_options:
|
|
436
427
|
- --main
|
437
428
|
- OVERVIEW.md
|
438
429
|
- --exclude
|
439
|
-
- lib/gcloud/proto/
|
440
|
-
- --exclude
|
441
430
|
- lib/google/
|
442
431
|
require_paths:
|
443
432
|
- lib
|
@@ -1,203 +0,0 @@
|
|
1
|
-
# Copyright 2014 Google Inc. All rights reserved.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
require "faraday"
|
17
|
-
|
18
|
-
module Gcloud
|
19
|
-
module Datastore
|
20
|
-
##
|
21
|
-
# @private
|
22
|
-
#
|
23
|
-
# Represent the HTTP connection to the Datastore,
|
24
|
-
# as well as the Datastore API calls.
|
25
|
-
#
|
26
|
-
# This class only deals with Protocol Buffer objects,
|
27
|
-
# and is not part of the public API.
|
28
|
-
class Connection
|
29
|
-
API_VERSION = "v1beta2"
|
30
|
-
API_URL = "https://www.googleapis.com"
|
31
|
-
|
32
|
-
##
|
33
|
-
# The project/dataset_id connected to.
|
34
|
-
attr_accessor :dataset_id
|
35
|
-
|
36
|
-
##
|
37
|
-
# The Credentials object for signing HTTP requests.
|
38
|
-
attr_accessor :credentials
|
39
|
-
|
40
|
-
##
|
41
|
-
# Create a new Connection instance.
|
42
|
-
#
|
43
|
-
# @example
|
44
|
-
# conn = Gcloud::Datastore.Connection.new "my-todo-project",
|
45
|
-
# Gcloud::Datastore::Credentials.new("/path/to/keyfile.json")
|
46
|
-
#
|
47
|
-
def initialize dataset_id, credentials
|
48
|
-
@dataset_id = dataset_id
|
49
|
-
@credentials = credentials
|
50
|
-
end
|
51
|
-
|
52
|
-
##
|
53
|
-
# Allocate IDs for incomplete keys.
|
54
|
-
# (This is useful for referencing an entity before it is inserted.)
|
55
|
-
def allocate_ids *incomplete_keys
|
56
|
-
allocate_ids = Proto::AllocateIdsRequest.new.tap do |ai|
|
57
|
-
ai.key = incomplete_keys
|
58
|
-
end
|
59
|
-
|
60
|
-
rpc_response = rpc("allocateIds", allocate_ids)
|
61
|
-
Proto::AllocateIdsResponse.decode rpc_response
|
62
|
-
end
|
63
|
-
|
64
|
-
##
|
65
|
-
# Look up entities by keys.
|
66
|
-
def lookup *keys, consistency: nil, transaction: nil
|
67
|
-
lookup = Proto::LookupRequest.new key: keys
|
68
|
-
if consistency == :eventual
|
69
|
-
lookup.read_options = Proto::ReadOptions.new(read_consistency: 2)
|
70
|
-
elsif consistency == :strong
|
71
|
-
lookup.read_options = Proto::ReadOptions.new(read_consistency: 1)
|
72
|
-
elsif transaction
|
73
|
-
lookup.read_options = Proto::ReadOptions.new(
|
74
|
-
transaction: transaction)
|
75
|
-
end
|
76
|
-
|
77
|
-
Proto::LookupResponse.decode rpc("lookup", lookup)
|
78
|
-
end
|
79
|
-
|
80
|
-
# Query for entities.
|
81
|
-
def run_query query, partition = nil, consistency: nil, transaction: nil
|
82
|
-
run_query = Proto::RunQueryRequest.new.tap do |rq|
|
83
|
-
rq.query = query
|
84
|
-
rq.partition_id = partition if partition
|
85
|
-
end
|
86
|
-
if consistency == :eventual
|
87
|
-
run_query.read_options = Proto::ReadOptions.new(read_consistency: 2)
|
88
|
-
elsif consistency == :strong
|
89
|
-
run_query.read_options = Proto::ReadOptions.new(read_consistency: 1)
|
90
|
-
elsif transaction
|
91
|
-
run_query.read_options = Proto::ReadOptions.new(
|
92
|
-
transaction: transaction)
|
93
|
-
end
|
94
|
-
|
95
|
-
Proto::RunQueryResponse.decode rpc("runQuery", run_query)
|
96
|
-
end
|
97
|
-
|
98
|
-
##
|
99
|
-
# Begin a new transaction.
|
100
|
-
def begin_transaction
|
101
|
-
tx_request = Proto::BeginTransactionRequest.new
|
102
|
-
|
103
|
-
response_rpc = rpc "beginTransaction", tx_request
|
104
|
-
Proto::BeginTransactionResponse.decode response_rpc
|
105
|
-
end
|
106
|
-
|
107
|
-
##
|
108
|
-
# Commit a transaction, optionally creating, deleting or modifying
|
109
|
-
# some entities.
|
110
|
-
def commit mutation, transaction = nil
|
111
|
-
mode = Proto::CommitRequest::Mode::NON_TRANSACTIONAL
|
112
|
-
mode = Proto::CommitRequest::Mode::TRANSACTIONAL if transaction
|
113
|
-
|
114
|
-
commit = Proto::CommitRequest.new.tap do |c|
|
115
|
-
c.mutation = mutation
|
116
|
-
c.mode = mode
|
117
|
-
c.transaction = transaction
|
118
|
-
end
|
119
|
-
|
120
|
-
Proto::CommitResponse.decode rpc("commit", commit)
|
121
|
-
end
|
122
|
-
|
123
|
-
##
|
124
|
-
# Roll back a transaction.
|
125
|
-
def rollback transaction
|
126
|
-
rollback = Proto::RollbackRequest.new.tap do |r|
|
127
|
-
r.transaction = transaction
|
128
|
-
end
|
129
|
-
|
130
|
-
Proto::RollbackResponse.decode rpc("rollback", rollback)
|
131
|
-
end
|
132
|
-
|
133
|
-
##
|
134
|
-
# The default HTTP headers to be sent on all API calls.
|
135
|
-
def default_http_headers
|
136
|
-
@default_http_headers ||= {
|
137
|
-
"User-Agent" => "gcloud-node/#{Gcloud::VERSION}",
|
138
|
-
"Content-Type" => "application/x-protobuf" }
|
139
|
-
end
|
140
|
-
##
|
141
|
-
# Update the default HTTP headers.
|
142
|
-
attr_writer :default_http_headers
|
143
|
-
|
144
|
-
##
|
145
|
-
# The HTTP object that makes calls to Datastore.
|
146
|
-
# This must be a Faraday object.
|
147
|
-
def http
|
148
|
-
@http ||= Faraday.new url: http_host
|
149
|
-
end
|
150
|
-
##
|
151
|
-
# Update the HTTP object.
|
152
|
-
attr_writer :http
|
153
|
-
|
154
|
-
##
|
155
|
-
# The Datastore API URL.
|
156
|
-
def http_host
|
157
|
-
@http_host || ENV["DATASTORE_HOST"] || API_URL
|
158
|
-
end
|
159
|
-
|
160
|
-
##
|
161
|
-
# Update the Datastore API URL.
|
162
|
-
def http_host= new_http_host
|
163
|
-
@http = nil # Reset the HTTP connection when host is set
|
164
|
-
@http_host = new_http_host
|
165
|
-
end
|
166
|
-
|
167
|
-
def inspect
|
168
|
-
"#{self.class}(#{@dataset_id})"
|
169
|
-
end
|
170
|
-
|
171
|
-
protected
|
172
|
-
|
173
|
-
##
|
174
|
-
# Convenience method for making an API call to Datastore.
|
175
|
-
# Requests will be signed with the credentials object.
|
176
|
-
def rpc proto_method, proto_request
|
177
|
-
response = http.post(rpc_path proto_method) do |req|
|
178
|
-
req.headers.merge! default_http_headers
|
179
|
-
req.body = get_proto_request_body proto_request
|
180
|
-
|
181
|
-
@credentials.sign_http_request req
|
182
|
-
end
|
183
|
-
|
184
|
-
fail ApiError.new(proto_method, response) unless response.success?
|
185
|
-
|
186
|
-
response.body
|
187
|
-
end
|
188
|
-
|
189
|
-
## Generates the HTTP Path value for the API call.
|
190
|
-
def rpc_path proto_method
|
191
|
-
"/datastore/#{API_VERSION}/datasets/#{dataset_id}/#{proto_method}"
|
192
|
-
end
|
193
|
-
|
194
|
-
##
|
195
|
-
# Convenience method for encoding a Beefcake object to a string.
|
196
|
-
def get_proto_request_body proto_request
|
197
|
-
proto_request_body = ""
|
198
|
-
proto_request.encode proto_request_body
|
199
|
-
proto_request_body
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|
203
|
-
end
|