From: Assaph Mehr Date: 2005-03-18T11:29:55+09:00 Subject: Re: encapsulating rubygems so that my users don't need to be aware of it > Again, the critique is correct. Then forget all except my first and > current post in this thread, and look at the one called "monster" in the > first post. That does the job... D'oh! Should have read in time order... > > In Instiki/Pimki we tackle this like so: the tgz includes the libs > > needed, while the gem version does not but does specify them as > > dependencies. When starting we test if this is a gem or not and know > > how to require the necessary libs. Does this help? > > Well, maybe I'll choose a different distribution scheme, but that's not > the heart of the matter. > > The problem is that if you want to shield your users from package > mana-gem-ent issues, you have to add clutter to your code, this way or > that. As I read, you are doing this as well. I'm just looking for a > somewhat "lite" or elegant solution. No dice yet. Ha! Wait until you get into mismatching gem version management. You _have_ to specify the version of the gem you want, otherwise clients might have a wrong version. Seriously, see who your users are. If you think you need to encapsulate as much as possible (i.e. non developers :) then I think it's best to ship together those versions you can trust to work with your app. If you ever come across a better scheme (especially a lite one :), share it with the world! There are lots of us who'd love to know. > Maybe we have to live with it, until gems are either embraced properly > and will be integrated into official ruby or will be completely > discarded. This hanging-in-the-middle state is somewhat weird. I think Matz is inclined to do so in the future (especially now that RPA seems to have slowed down somewhat), but that is in the far future probably. Cheers, Assaph