Packaging common code with gems

Let's say I have some common code, I use in various scripts or ruby
apps. I've got it in a common folder which I've put in my RUBYLIB
environment variable.

In the old days (Java), I'd put this in (say) commons.jar, and
distribute such jars with my apps. Now if i decide to put these apps on
github or create gems, how would i distribute the common code.

1. Should I keep copies with each app (more maintenance)
2. Should i create a common gem ?
3. Include these files in the gemspec (pointing to a folder outside the
tree)

thx.

···

--
Posted via http://www.ruby-forum.com/.

Let's say I have some common code, I use in various scripts or ruby
apps. I've got it in a common folder which I've put in my RUBYLIB
environment variable.

In the old days (Java), I'd put this in (say) commons.jar, and
distribute such jars with my apps. Now if i decide to put these apps on
github or create gems, how would i distribute the common code.

1. Should I keep copies with each app (more maintenance)
2. Should i create a common gem ?
3. Include these files in the gemspec (pointing to a folder outside the
tree)

#1 might not be so bad if you vendor them. That way there is no
dependency but there is central management.

Otherwise #2 is a good option. #3 sounds like a very bad idea.

You might also consider, how common is common? Are these libs common
enough that you might already find their equivalent in a support
library like ActiveSupport or Facets? Where your common libs do not
appear you mght even be able to contribute to those projects.

    trans.

···

On Jun 6, 4:45 am, "R.. Kumar" <sentinel1...@gmail.com> wrote:

thx.
--
Posted viahttp://www.ruby-forum.com/.

I would write a gem. You can create your own gem server very easily if you don't want to publish it.

Rein Henrichs

http://reinh.com

···

On 2010-06-06 01:45:23 -0700, R.. Kumar said:

Let's say I have some common code, I use in various scripts or ruby
apps. I've got it in a common folder which I've put in my RUBYLIB
environment variable.

In the old days (Java), I'd put this in (say) commons.jar, and
distribute such jars with my apps. Now if i decide to put these apps on
github or create gems, how would i distribute the common code.

1. Should I keep copies with each app (more maintenance)
2. Should i create a common gem ?
3. Include these files in the gemspec (pointing to a folder outside the
tree)

thx.

Thomas Sawyer wrote:

···

On Jun 6, 4:45�am, "R.. Kumar" <sentinel1...@gmail.com> wrote:

3. Include these files in the gemspec (pointing to a folder outside the
tree)

#1 might not be so bad if you vendor them. That way there is no
dependency but there is central management.

Otherwise #2 is a good option. #3 sounds like a very bad idea.

You might also consider, how common is common? Are these libs common
enough that you might already find their equivalent in a support
library like ActiveSupport or Facets? Where your common libs do not
appear you mght even be able to contribute to those projects.

    trans.

I haven't looked at ActiveSupport. These are command line apps (not web
stuff). These are not so common enough that Facets might have them.

I used Facets a few years back but lost touch with it. Is it 1.9
compliant ?
--
Posted via http://www.ruby-forum.com/\.