X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/86087cc5ea76bd498d9f615fc314c14c08e721b9..6f9bc5a295042fdcc0e51b193d3f31633d58c5d1:/sdk/cli/bin/arv diff --git a/sdk/cli/bin/arv b/sdk/cli/bin/arv index 185a5b0673..b377ffed63 100755 --- a/sdk/cli/bin/arv +++ b/sdk/cli/bin/arv @@ -14,24 +14,33 @@ if RUBY_VERSION < '1.9.3' then end begin - require 'curb' - require 'rubygems' - require 'arvados/google_api_client' require 'json' + require 'net/http' require 'pp' - require 'trollop' + require 'tempfile' + require 'yaml' +rescue LoadError => error + abort "Error loading libraries: #{error}\n" +end + +begin + require 'rubygems' + # Load the gems with more requirements first, so we respect any version + # constraints they put on gems loaded later. + require 'arvados/google_api_client' + require 'active_support/inflector' require 'andand' + require 'curb' require 'oj' - require 'active_support/inflector' - require 'yaml' - require 'tempfile' - require 'net/http' -rescue LoadError + require 'trollop' +rescue LoadError => error abort <<-EOS +Error loading gems: #{error} + Please install all required gems: - gem install activesupport andand curb google-api-client json oj trollop yaml + gem install arvados activesupport andand curb json oj trollop EOS end @@ -566,7 +575,7 @@ def parse_arguments(discovery_document, subcommands) end end - discovered_params.each do |k,v| + discovered_params.merge({resource => {'type' => 'object'}}).each do |k,v| k = k.to_sym if ['object', 'array'].index(v["type"]) and method_opts.has_key? k if method_opts[k].andand.match /^\//