module Gem::LocalRemoteOptions
def accept_uri_http
def accept_uri_http Gem::OptionParser.accept Gem::URI::HTTP do |value| begin uri = Gem::URI.parse value rescue Gem::URI::InvalidURIError raise Gem::OptionParser::InvalidArgument, value end valid_uri_schemes = ["http", "https", "file", "s3"] unless valid_uri_schemes.include?(uri.scheme) msg = "Invalid uri scheme for #{value}\nPreface URLs with one of #{valid_uri_schemes.map {|s| "#{s}://" }}" raise ArgumentError, msg end value end end