Issue #6124 has been updated by Vit Ondruch.


Anonymní wrote:
> On Wed, Mar 07, 2012 at 10:50:51PM +0900, Vit Ondruch wrote:
>  > 
>  > Issue #6124 has been reported by Vit Ondruch.
>  > 
>  > ----------------------------------------
>  > Bug #6124: What is the purpose of "fake" gems in Ruby
>  > https://bugs.ruby-lang.org/issues/6124
>  > 
>  > Author: Vit Ondruch
>  > Status: Open
>  > Priority: Normal
>  > Assignee: Eric Hodel
>  > Category: 
>  > Target version: 
>  > ruby -v: ruby 1.9.3p0 (2011-10-30) [x86_64-linux]
>  > 
>  > 
>  > As I tried to point out in #6123, the "fake" gems which are distributed with Ruby breaks user's expectations. The following example should fail:
>  > 
>  > $ ruby --disable-gems -e "puts require('bigdecimal')"
>  > true
>  > 
>  > However, it is not failing. Could you please enlighten me what is the purpose of fake gem then? Even if you install updated BigDecimal from rubygems.org, the bundled version will won unless you use "gem 'bidgecimal'" somewhere in the code. This makes no sense.
>  > 
>  > Don't take me wrong, I am big fan of gemified stdlib #5481, however this is not the way how it should be done.
>  
>  I think this works because stdlib load path is searched regardless of
>  gem activation or not.  These gems are real, they're just installed in a
>  special location.
>  
>  I'm not sure if this is a good thing, but it does maintain backwards
>  compatibility.
>  
>  -- 
>  Aaron Patterson
>  http://tenderlovemaking.com/

BTW it does not answer the original question :) If they are not in load path, they don't need to be gems and vice versa.
----------------------------------------
Bug #6124: What is the purpose of "fake" gems in Ruby
https://bugs.ruby-lang.org/issues/6124

Author: Vit Ondruch
Status: Open
Priority: Normal
Assignee: Eric Hodel
Category: 
Target version: 
ruby -v: ruby 1.9.3p0 (2011-10-30) [x86_64-linux]


As I tried to point out in #6123, the "fake" gems which are distributed with Ruby breaks user's expectations. The following example should fail:

$ ruby --disable-gems -e "puts require('bigdecimal')"
true

However, it is not failing. Could you please enlighten me what is the purpose of fake gem then? Even if you install updated BigDecimal from rubygems.org, the bundled version will won unless you use "gem 'bidgecimal'" somewhere in the code. This makes no sense.

Don't take me wrong, I am big fan of gemified stdlib #5481, however this is not the way how it should be done.


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