Merge branch 'master' of https://github.com/sqrrrl/google-api-ruby-client into sqrrrl-master

This commit is contained in:
Steve Bazyl committed 2017-04-03 12:31:20 -07:00
commit 48916bfce7
5 files changed
+40 -4

No files matched your search

+19 -4
View File
@@ -164,10 +164,10 @@ module Google
batch_command.options = request_options.merge(options)
apply_command_defaults(batch_command)
begin
Thread.current[:google_api_batch] = batch_command
start_batch(batch_command)
yield self
ensure
Thread.current[:google_api_batch] = nil
end_batch
end
batch_command.execute(client)
end
@@ -196,10 +196,10 @@ module Google
batch_command.options = request_options.merge(options)
apply_command_defaults(batch_command)
begin
Thread.current[:google_api_batch] = batch_command
start_batch(batch_command)
yield self
ensure
Thread.current[:google_api_batch] = nil
end_batch
end
batch_command.execute(client)
end
@@ -347,6 +347,7 @@ module Google
def execute_or_queue_command(command, &callback)
batch_command = current_batch
if batch_command
fail "Can not combine services in a batch" if Thread.current[:google_api_batch_service] != self
batch_command.add(command, &callback)
nil
else
@@ -374,6 +375,20 @@ module Google
!current_batch.nil?
end
# Start a new thread-local batch context
# @param [Google::Apis::Core::BatchCommand] cmd
def start_batch(cmd)
fail "Batch already in progress" if batch?
Thread.current[:google_api_batch] = cmd
Thread.current[:google_api_batch_service] = self
end
# Clear thread-local batch context
def end_batch
Thread.current[:google_api_batch] = nil
Thread.current[:google_api_batch_service] = nil
end
# Create a new HTTP client
# @return [HTTPClient]
def new_client
@@ -42,6 +42,7 @@ module Google
<% end -%>
def initialize
super('<%= api.root_url %>', '<%= api.service_path %>')
@batch_path = '<%= api.batch_path %>'
end
<% for api_method in api.all_methods -%>
<%= indent(include('method', :api_method => api_method, :api => api), 8) -%>