Significant improvements to the CLI.

git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@90 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
This commit is contained in:
Bob Aman 2010-10-22 00:36:15 +00:00
parent 0986b4e64f
commit 00eb093580
3 changed files with 27 additions and 8 deletions

View File

@ -1,3 +1,7 @@
== 0.1.1
* substantial improvements to the command line interface
== 0.1.0
* initial release

View File

@ -61,7 +61,7 @@ HTML
:verbose => false
}
@argv = argv.clone
if @argv.first =~ /^[a-z0-9_-]+$/i
if @argv.first =~ /^[a-z0-9][a-z0-9_-]*$/i
self.options[:command] = @argv.shift
end
if @argv.first =~ /^[a-z0-9_-]+\.[a-z0-9_\.-]+$/i
@ -85,7 +85,7 @@ HTML
opts.banner = "Usage: google-api " +
"(execute <rpcname> | [command]) [options] [-- <parameters>]"
opts.separator ""
opts.separator "\nAvailable options:"
opts.on(
"--scope <scope>", String, "Set the OAuth scope") do |s|
@ -118,17 +118,25 @@ HTML
options[:content_type] = f
end
opts.on_tail("-v", "--verbose", "Run verbosely") do |v|
opts.on("-v", "--verbose", "Run verbosely") do |v|
options[:verbose] = v
end
opts.on_tail("-h", "--help", "Show this message") do
opts.on("-h", "--help", "Show this message") do
puts opts
exit
end
opts.on_tail("--version", "Show version") do
opts.on("--version", "Show version") do
puts "google-api-client (#{Google::APIClient::VERSION::STRING})"
exit
end
opts.separator(
"\nAvailable commands:\n" +
" oauth-login Log a user into an API\n" +
" list List the methods available for a service\n" +
" execute Execute a method on the API\n" +
" irb Start an interactive client session"
)
end
end
@ -283,9 +291,10 @@ HTML
end
end
def interactive
def irb
require 'signet/oauth_1/client'
require 'yaml'
require 'irb'
config_file = File.expand_path('~/.google-api.yaml')
signed = File.exist?(config_file)
@ -314,7 +323,8 @@ HTML
config["token_credential_secret"]
end
require 'irb'
# Otherwise IRB will misinterpret command-line options
ARGV.clear
IRB.start(__FILE__)
end
@ -327,6 +337,11 @@ HTML
end
exit(1)
end
def help
puts self.parser
exit(0)
end
end
end
end

View File

@ -17,7 +17,7 @@ module Google
module VERSION
MAJOR = 0
MINOR = 1
TINY = 0
TINY = 1
STRING = [MAJOR, MINOR, TINY].join('.')
end