Fixed issue with discovery URIs and renamed --service-version to --api-version.
This commit is contained in:
parent
88e123ddf7
commit
9387bfa593
|
@ -108,8 +108,8 @@ HTML
|
||||||
options[:api] = s
|
options[:api] = s
|
||||||
end
|
end
|
||||||
opts.on(
|
opts.on(
|
||||||
"--service-version <id>", String,
|
"--api-version <id>", String,
|
||||||
"Select service version") do |id|
|
"Select api version") do |id|
|
||||||
options[:version] = id
|
options[:version] = id
|
||||||
end
|
end
|
||||||
opts.on(
|
opts.on(
|
||||||
|
@ -165,7 +165,7 @@ HTML
|
||||||
"\nAvailable commands:\n" +
|
"\nAvailable commands:\n" +
|
||||||
" oauth-1-login Log a user into an API with OAuth 1.0a\n" +
|
" oauth-1-login Log a user into an API with OAuth 1.0a\n" +
|
||||||
" oauth-2-login Log a user into an API with OAuth 2.0 d10\n" +
|
" oauth-2-login Log a user into an API with OAuth 2.0 d10\n" +
|
||||||
" list List the methods available for a service\n" +
|
" list List the methods available for an API\n" +
|
||||||
" execute Execute a method on the API\n" +
|
" execute Execute a method on the API\n" +
|
||||||
" irb Start an interactive client session"
|
" irb Start an interactive client session"
|
||||||
)
|
)
|
||||||
|
@ -238,17 +238,27 @@ HTML
|
||||||
end
|
end
|
||||||
|
|
||||||
if options[:discovery_uri]
|
if options[:discovery_uri]
|
||||||
client.discovery_uri = options[:discovery_uri]
|
if options[:api] && options[:version]
|
||||||
|
client.register_discovery_uri(
|
||||||
|
options[:api], options[:version], options[:discovery_uri]
|
||||||
|
)
|
||||||
|
else
|
||||||
|
STDERR.puts(
|
||||||
|
'Cannot register a discovery URI without ' +
|
||||||
|
'specifying an API and version.'
|
||||||
|
)
|
||||||
|
exit(1)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return client
|
return client
|
||||||
end
|
end
|
||||||
|
|
||||||
def api_version(api, version)
|
def api_version(api_name, version)
|
||||||
v = version
|
v = version
|
||||||
if !version
|
if !version
|
||||||
if client.preferred_version(api)
|
if client.preferred_version(api_name)
|
||||||
v = client.preferred_version(api).version
|
v = client.preferred_version(api_name).version
|
||||||
else
|
else
|
||||||
v = 'v1'
|
v = 'v1'
|
||||||
end
|
end
|
||||||
|
@ -399,8 +409,8 @@ HTML
|
||||||
end
|
end
|
||||||
|
|
||||||
def list
|
def list
|
||||||
api = options[:api]
|
api_name = options[:api]
|
||||||
unless api
|
unless api_name
|
||||||
STDERR.puts('No API name supplied.')
|
STDERR.puts('No API name supplied.')
|
||||||
exit(1)
|
exit(1)
|
||||||
end
|
end
|
||||||
|
@ -408,9 +418,9 @@ HTML
|
||||||
if options[:discovery_uri]
|
if options[:discovery_uri]
|
||||||
client.discovery_uri = options[:discovery_uri]
|
client.discovery_uri = options[:discovery_uri]
|
||||||
end
|
end
|
||||||
version = api_version(api, options[:version])
|
version = api_version(api_name, options[:version])
|
||||||
service = client.discovered_api(api, version)
|
api = client.discovered_api(api_name, version)
|
||||||
rpcnames = service.to_h.keys
|
rpcnames = api.to_h.keys
|
||||||
puts rpcnames.sort.join("\n")
|
puts rpcnames.sort.join("\n")
|
||||||
exit(0)
|
exit(0)
|
||||||
end
|
end
|
||||||
|
@ -457,14 +467,14 @@ HTML
|
||||||
STDERR.puts('No rpcname supplied.')
|
STDERR.puts('No rpcname supplied.')
|
||||||
exit(1)
|
exit(1)
|
||||||
end
|
end
|
||||||
api = options[:api] || self.rpcname[/^([^\.]+)\./, 1]
|
api_name = options[:api] || self.rpcname[/^([^\.]+)\./, 1]
|
||||||
version = api_version(api, options[:version])
|
version = api_version(api_name, options[:version])
|
||||||
service = client.discovered_api(api, version)
|
api = client.discovered_api(api_name, version)
|
||||||
method = service.to_h[self.rpcname]
|
method = api.to_h[self.rpcname]
|
||||||
if !method
|
if !method
|
||||||
STDERR.puts(
|
STDERR.puts(
|
||||||
"Method #{self.rpcname} does not exist for " +
|
"Method #{self.rpcname} does not exist for " +
|
||||||
"#{api}-#{version}."
|
"#{api_name}-#{version}."
|
||||||
)
|
)
|
||||||
exit(1)
|
exit(1)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue