diff --git a/lib/geocoder/cli.rb b/lib/geocoder/cli.rb index ab3df3b78b2ef6e97a32184212d5862bdec96293..f4832a15d39686081a34ca52ce732a5184099261 100644 --- a/lib/geocoder/cli.rb +++ b/lib/geocoder/cli.rb @@ -8,6 +8,11 @@ module Geocoder show_url = false show_json = false + # remove arguments that are probably coordinates so they are not + # processed as arguments (eg: -31.96047031,115.84274631) + coords = args.select{ |i| i.match(/^-\d/) } + args -= coords + OptionParser.new{ |opts| opts.banner = "Usage:\n geocode [options] <location>" opts.separator "\nOptions: " @@ -65,7 +70,9 @@ module Geocoder end }.parse!(args) - query = args.join(" ") + # concatenate args with coords that might have been removed + # before option processing + query = (args + coords).join(" ") if query == "" out << "Please specify a location (run `geocode -h` for more info).\n"