X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a3222e35cda68c8e48a17921c33ac37ecb5c3bac..deba5b86b2e0c41d18d6f9f7bd72f18755ed7a81:/sdk/ruby/lib/arvados.rb diff --git a/sdk/ruby/lib/arvados.rb b/sdk/ruby/lib/arvados.rb index 6a9a52b106..753c518b31 100644 --- a/sdk/ruby/lib/arvados.rb +++ b/sdk/ruby/lib/arvados.rb @@ -1,10 +1,11 @@ require 'rubygems' -require 'google/api_client' require 'active_support/inflector' require 'json' require 'fileutils' require 'andand' +require 'arvados/google_api_client' + ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'specimen', 'specimens' inflect.irregular 'human', 'humans' @@ -105,34 +106,6 @@ class Arvados end end - class Google::APIClient - def discovery_document(api, version) - api = api.to_s - discovery_uri = self.discovery_uri(api, version) - discovery_uri_hash = Digest::MD5.hexdigest(discovery_uri) - return @discovery_documents[discovery_uri_hash] ||= - begin - # fetch new API discovery doc if stale - cached_doc = File.expand_path "~/.cache/arvados/discovery-#{discovery_uri_hash}.json" rescue nil - if cached_doc.nil? or not File.exist?(cached_doc) or (Time.now - File.mtime(cached_doc)) > 86400 - response = self.execute!(:http_method => :get, - :uri => discovery_uri, - :authenticated => false) - begin - FileUtils.makedirs(File.dirname cached_doc) - File.open(cached_doc, 'w') do |f| - f.puts response.body - end - rescue - return JSON.load response.body - end - end - - File.open(cached_doc) { |f| JSON.load f } - end - end - end - def client @client ||= Google::APIClient. new(:host => @arvados_api_host, @@ -234,7 +207,7 @@ class Arvados execute(:api_method => api_method, :authenticated => false, :parameters => parameters, - :body => body, + :body_object => body, :headers => { authorization: 'OAuth2 '+arvados.config['ARVADOS_API_TOKEN'] })