diff options
Diffstat (limited to 'lib/rubygems/gem_runner.rb')
-rw-r--r-- | lib/rubygems/gem_runner.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/rubygems/gem_runner.rb b/lib/rubygems/gem_runner.rb index 8335a0ad03..4cb924677f 100644 --- a/lib/rubygems/gem_runner.rb +++ b/lib/rubygems/gem_runner.rb @@ -29,6 +29,7 @@ class Gem::GemRunner # Run the gem command with the following arguments. def run(args) + validate_encoding args build_args = extract_build_args args do_configuration args @@ -72,6 +73,14 @@ class Gem::GemRunner private + def validate_encoding(args) + invalid_arg = args.find {|arg| !arg.valid_encoding? } + + if invalid_arg + raise Gem::OptionParser::InvalidArgument.new("'#{invalid_arg.scrub}' has invalid encoding") + end + end + def do_configuration(args) Gem.configuration = @config_file_class.new(args) Gem.use_paths Gem.configuration[:gemhome], Gem.configuration[:gempath] |