On Wed, Nov 25, 2009 at 5:32 PM, John Trupiano <jtru...@gmail.com> wrote:
1) Deleting a RubyGem means that dependencies might break. For
example, I blew away the 'zentest' gem and that broke a LOT of gems.
2) Really need to make sure ownerships, downloads, etc are all cleaned
up after one has been deleted. Not sure if that's happening now.
The only database-specific code that gets run in this entire feature is version.destroy. Looking at the Version model, you do have :dependent => :destroys for both dependencies and downloads. Unless there's something else we need to clean up, this probably isn't a concern.
3) What should happen when a rubygem's last version is taken away?
What if they just wanted to revert one pushed gem and someone came in
the meantime and pushed something else over it? Too bad for the
original author? Maybe there should be a grace period?
Building and understanding the dependency graph of all gems isn't
really feasible right now. For example, if a gem specified a
dependency of example-gem >= 1.0 should I be able to yank 1.0.1? What
if there is nothing lower than 1.0.1 that satisfies the dependency?