[Rubygems-developers] The 1.7 Plan

Nick Quaranto nick at quaran.to
Thu Mar 3 22:11:47 EST 2011

I'd like to get gem yank in at some point, I think by now it's solid,
especially with the addition of platform support that I sat on for way
too long. Does that mean I'll have to wait until April to get a patch
in for that?

On Thu, Mar 3, 2011 at 8:26 PM, Ryan Davis <ryand-ruby at zenspider.com> wrote:
> Working on the installer and Gem.activate on 1.6 showed how crufty and painful Gem, Specification and Dependency were. 1.7 is going to focus almost entirely on refactoring the API into something useful. Specifically:
> + GemPathSearcher needs to die. God I hate it. 100% of it is bad design and equivalent functionality should be built into specifications themselves.
> + The relationship between Specification and Dependency needs to be made more usable. In particular, going to source_index every time you need something is an abomination. Specification should be able to respond with all specs that match it's dependencies.
> + Installer code and activation code needs a refactoring. The fact that I had to do _nearly_ the same thing twice was proof of that.
> + Gem.activate should be moved to Specification#activate.
> + Gem.source_index should be hidden as an implementation detail (or removed) and proper public counterparts should be added (eg. Specification.all/active/find/named).
> + Lots more Gem class methods should be moved to where their responsibilities properly belong. There is so many LoD violations that it isn't funny.
> I'm sure there is a lot more. That's just off the top of my head.
> IMPORTANT: This release is going to be a code contraction month. Feature additions / enhancements should NOT go in master and should NOT be released in 1.7. We can add toys in 1.8.
> _______________________________________________
> Rubygems-developers mailing list
> http://rubyforge.org/projects/rubygems
> Rubygems-developers at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rubygems-developers

More information about the Rubygems-developers mailing list