[#102393] [Ruby master Feature#17608] Compact and sum in one step — sawadatsuyoshi@...

Issue #17608 has been reported by sawa (Tsuyoshi Sawada).

13 messages 2021/02/04

[#102438] [Ruby master Bug#17619] if false foo=42; end creates a foo local variable set to nil — pkmuldoon@...

Issue #17619 has been reported by pkmuldoon (Phil Muldoon).

10 messages 2021/02/10

[#102631] [Ruby master Feature#17660] Expose information about which basic methods have been redefined — tenderlove@...

Issue #17660 has been reported by tenderlovemaking (Aaron Patterson).

9 messages 2021/02/27

[#102639] [Ruby master Misc#17662] The herdoc pattern used in tests does not syntax highlight correctly in many editors — eregontp@...

Issue #17662 has been reported by Eregon (Benoit Daloze).

13 messages 2021/02/27

[#102652] [Ruby master Bug#17664] Behavior of sockets changed in Ruby 3.0 to non-blocking — ciconia@...

Issue #17664 has been reported by ciconia (Sharon Rosner).

23 messages 2021/02/28

[ruby-core:102490] [Ruby master Feature#16652] Use RubyGems facilities to install Gems during Ruby installation

From: hsbt@...
Date: 2021-02-15 00:42:27 UTC
List: ruby-core #102490
Issue #16652 has been updated by hsbt (Hiroshi SHIBATA).

Status changed from Assigned to Closed

https://github.com/ruby/ruby/pull/2545 was merged for Ruby 3.1.

----------------------------------------
Feature #16652: Use RubyGems facilities to install Gems during Ruby installation
https://bugs.ruby-lang.org/issues/16652#change-90384

* Author: vo.x (Vit Ondruch)
* Status: Closed
* Priority: Normal
* Assignee: hsbt (Hiroshi SHIBATA)
----------------------------------------
Currently, `tools/rbinstall` uses quite some custom code to install gems instead of using functionality available in RubyGems. I don't think this is good, because the code is non transparent ATM and it is duplicating functionality, which is already available and tested in RubyGems. Also, it intoduces its own concepts such as `$script_mode` vs `$prog_mode`. So I opened two PRs, gradually implementing this.

The first PR [1] uses `Gem::Package` like object and duck typing instead of monkey patching.

1. This is similar to what RubyGems do and it is less magic [2].
2. It avoids deprecated code paths in RubyGems [3].

The second PR [4] builds on the top of the first one and uses `UnpackedInstaller` to install default gems (it would be probably nice to get `UnpackedInstaller` into RubyGems, but I am not sure how it could be invoked). As a bonus, it removes the pregenerated binstubs. These are now generated by `Gem::Installer` instead.



[1]: https://github.com/ruby/ruby/pull/2515
[2]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L151
[3]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L187
[4]: https://github.com/ruby/ruby/pull/2545



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next