/bin/otr

https://bitbucket.org/stephenmcd/otr · Ruby · 48 lines · 35 code · 11 blank · 2 comment · 4 complexity · 152c60c38e9b9b8b15e8cf5b74c0dd26 MD5 · raw file

  1. #!/usr/bin/env ruby
  2. require "rubygems"
  3. require "optparse"
  4. require "lib/otr"
  5. options = {}
  6. option_parser = OptionParser.new do |opts|
  7. opts.banner = "\nUsage: otr [options]\n\n"
  8. opts.on("-u", "--username NAME", String,
  9. "Combined GitHub / Bitbucket username") do |v|
  10. options[:username] = v
  11. end
  12. opts.on("-g", "--github-username NAME", String,
  13. "GitHub username if different from Bitbucket username (required without -u)") do |v|
  14. options[:github_username] = v
  15. end
  16. opts.on("-b", "--bitbucket-username NAME", String,
  17. "Bitbucket username if different from GitHub username (required without -u)") do |v|
  18. options[:bitbucket_username] = v
  19. end
  20. opts.on("-h", "--help", "Show this message") do
  21. puts opts
  22. exit
  23. end
  24. opts.on("-v", "--version", "Show version") do
  25. puts OTR::VERSION
  26. exit
  27. end
  28. end
  29. begin
  30. option_parser.parse!
  31. raise OptionParser::ParseError if options.size == 0
  32. rescue OptionParser::ParseError
  33. # Display all options if anything goes wrong.
  34. puts option_parser
  35. exit
  36. end
  37. puts OTR.get(options).to_json