[Rubygems-developers] Patience requested :)

Gavin Sinclair gsinclair at soyabean.com.au
Tue Aug 10 12:36:17 EDT 2004


On Friday, August 6, 2004, 5:32:46 PM, Gavin wrote:

> Folks,

> I'm making some (mostly small) changes to a few files at work:

>  M lib/rubygems/cache.rb
>  M lib/rubygems/installer.rb
>  M lib/rubygems/specification.rb
>  M lib/rubygems/version.rb

> I have to leave because the building is going to pwer down for some
> reason, so I'll have to continue at home, but there's at least three beers
> between now and then.  I don't want to commit it to CVS because it's
> seriously broken in the current state, so no updates for at least a few
> beers ... er, hours.

And five days later, it's done.  ChangeLog below.  Note that cache.rb
uses STDERR instead of alert_error, because the latter didn't work
anyway.  That's something to be fixed.

I've tested pretty carefully (interactive and unit), but of course
there's probably a bug around the corner.  Since it's a delicate kind
of change, I'm planning to install each and every remote gem and
confirm that all goes OK.

Cheers,
Gavin

2004-08-11  Gavin Sinclair  <gsinclair at soyabean.com.au>

        * lib/rubygems/specification.rb:
          - Added convenience class methods: attribute_names,
            attribute_defaults, default_value, required_attributes, and
            required_attribute?.

          - IMPORTANT: attribute readers now use lazy initialization, just
            like some of them did before the 2004-08-01 change.  This was done
            to fix the breakage when loading older gemspecs.

          - IMPORTANT: replaced instance variable access with attribute reader
            method calls in many cases.  This is in line with the above change.

          - Good documentation for the "attribute" method.

          - Renamed _copy -> _copy_of.

        * lib/rubygems/cache.rb:
          - Some fairly shallow changes. Exception handling needs improvement.

        * lib/rubygems/version.rb:
          - (Version.create) new method (for convenience)
          - (Version::Requirement.create) new method (for convenience)
          - (Version::Requirement.default) new method (for consistency)

        * test/test_specification.rb: test attribute_names instead of
          attributes.  Other "class convenience" methods remain to be tested
          at this stage.  Also added test classes for legacy gemspecs.

        * test/data/legacy/keyedlist-0.4.0.ruby: added.
        * test/data/legacy/keyedlist-0.4.0.yaml: added.








More information about the Rubygems-developers mailing list