David Vallner
2/11/2006 9:48:00 PM
Dna Sobota 11 Február 2006 21:59 Brian Buckley napísal:
> The facet gems currently installed my system are
>
> facets (2005.10.30, 2005.10.15, 1.0.2)
> The proverbial Zoo-of-More for Ruby
> facets_core (1.0.2)
> Vast collection of atomic core extension methods.
> facets_more (1.0.2)
> Large collection of additional classes, modules and microframeworks.
>
> If I open a new IRB session type a "require" line without first a
> "require_gem", the method added in comes from (facets 2005.10.30)
> require 'facet/float/approx'
>
> But if I do a require_gem statement prior to the same require line, the
> method comes from (facets_core 1.0.2)
> require_gem 'facets_core'
> require 'facet/float/approx'
>
> There seems to be a (dangerous?) mixing of lines of gems here. Also I had
> been thinking "require_gem" was optional and only needed when a version
> other than the most recent was needed.
>
> My questions:
> Are 'facets_core'/'facets_more' the active lines now, and is it advisable
> to uninstall the gems from the old 'facets' line [including saying Y those
> dependency warnings])?
>
> In general is the "require_gem" line necessary when using gems and an error
> to omit it even when one just wants to use the most recent version?
>
> Thanks.
>
>
> Brian K. Buckley
#require_gem does that, requires a gem by its name. But requiring 'rubygems'
also changes the semantics of #require - now it searches the gems as if they
all were in site_ruby.
They aren't being mixed, 'facets' is just a metagem that depends on
facets_core and facets_more - both of those gems share the same "library
namespace"
Generally, it's more common to use #require instead of #require_gem.
David Vallner