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.3.0/lib/rubygems/gem_runner.rb, line 23
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.3.0/lib/rubygems/gem_runner.rb, line 75
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.3.0/lib/rubygems/gem_runner.rb, line 31
def run(args)
build_args = extract_build_args args
do_configuration args
begin
Gem.load_env_plugins
rescue StandardError
nil
end
Gem.load_plugins
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.