Class
Run an instance of the gem program.
Gem::GemRunner
is only intended for internal use by RubyGems itself. It does not form any public API and may change at any time for any reason.
If you would like to duplicate functionality of ‘gem` commands, use the classes they call directly.
Class Methods
::
lib/rubygems/gem_runner.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/gem_runner.rb, line 27
def initialize
@command_manager_class = Gem::CommandManager
@config_file_class = Gem::ConfigFile
end
No documentation available
Instance Methods
lib/rubygems/gem_runner.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/gem_runner.rb, line 72
def do_configuration(args)
Gem.configuration = @config_file_class.new(args)
Gem.use_paths Gem.configuration[:gemhome], Gem.configuration[:gempath]
Gem::Command.extra_args = Gem.configuration[:gem]
end
No documentation available
lib/rubygems/gem_runner.rb
View on GitHub
# File tmp/rubies/ruby-3.0.5/lib/rubygems/gem_runner.rb, line 35
def run(args)
build_args = extract_build_args args
do_configuration args
cmd = @command_manager_class.instance
cmd.command_names.each do |command_name|
config_args = Gem.configuration[command_name]
config_args = case config_args
when String
config_args.split ' '
else
Array(config_args)
end
Gem::Command.add_specific_extra_args command_name, config_args
end
cmd.run Gem.configuration.args, build_args
end
Run the gem command with the following arguments.