Proposal: Gem That

4 views
Skip to first unread message

James Adam

unread,
Nov 10, 2009, 8:36:41 AM11/10/09
to ruby-...@googlegroups.com
Here's another non-web-related ruby thing that I could talk about for
a short while.

One thing I hate about building gems is the scaffolding around the
process. There are a bunch of 'tools' out there to help developers
create gems, but they are all insidious in one way or the other. 'Hoe'
is the worst, since it makes itself a dependency of any gem it
creates. Nasty.

The others also irk me greatly - principally because I don't sit down
one day and say "oh, I know, I'm going to write a library that will be
worth distributing", but instead I hack around using my own best
practices, and then maybe days, weeks or months later, I might want to
wrap something up as a gem suitable for use with other people.

Anyway, so I scratched my own itch and the result is 'gem-this'. I can
talk for a couple of minutes about why I hate the other ones (but why
you might like them), then explain how gem-this works (it's awesome),
and then round off by explaining how to add your own commands to 'gem'.

I cannot imagine this will take more than 8 precious minutes, and I
*can* guarantee a slide with the words "FUCK YOUR CONVENTIONS" on it.

- James

Graham Ashton

unread,
Nov 10, 2009, 12:18:23 PM11/10/09
to Ruby Manor
On Nov 10, 1:36 pm, James Adam <ja...@lazyatom.com> wrote:
>
> One thing I hate about building gems is the scaffolding around the  
> process. There are a bunch of 'tools' out there to help developers  
> create gems, but they are all insidious in one way or the other. 'Hoe'  
> is the worst, since it makes itself a dependency of any gem it  
> creates. Nasty.

Indeed, they are nasty. I'd very much like to hear all about gem-this.
Taking the piss out of hoe's sickening approach to this problem is
optional, but would be much appreciated.

Jason Cale

unread,
Nov 10, 2009, 6:19:09 PM11/10/09
to ruby-...@googlegroups.com

I would be interested in this talk - 'gem this' is definitely
something I've been meaning to try out, and I especially would like to
hear about writing tools in the gem namespace.

Chris Roos

unread,
Nov 11, 2009, 4:27:49 AM11/11/09
to ruby-manor
2009/11/10 Graham Ashton <graham...@gmail.com>:
> --~--~---------~--~----~------------~-------~--~----~

I'd be interested in this. I've tried (somewhat unsuccessfully if I
remember correctly) to use both hoe and echoe in the past so I'm
interested in hearing about alternatives.

This should almost certainly go in a different thread but aren't there
alternatives to rubygems now? It might be interesting to hear about
those too.

Chris

tomtt

unread,
Nov 11, 2009, 6:03:29 AM11/11/09
to Ruby Manor
Do the frustrations with existing gem builders extend to jeweler? My
experience with it was quite agreeable. Going from useful script to
released gem seemed as painless as can be.

Cheers, Tom.

-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Tom ten Thij
Unboxed Consulting, http://unboxedconsulting.com
T: +44 20 3137 2943 F: +44 20 7183 4251
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Kerry Buckley

unread,
Nov 11, 2009, 6:11:38 AM11/11/09
to ruby-...@googlegroups.com
On Wed, Nov 11, 2009 at 11:03 AM, tomtt <tomte...@gmail.com> wrote:
>
> Do the frustrations with existing gem builders extend to jeweler? My
> experience with it was quite agreeable. Going from useful script to
> released gem seemed as painless as can be.

I've found jeweler pretty painless for gemifying existing projects
too. There's also gemhub, which is more suited to creating gems from
scratch, but at least keeps out of the way once you've run it (unlike
hoe et al).

Even if gem-this is better, it's at least worth including jeweler in
any comparison.

Kerry

James Adam

unread,
Nov 11, 2009, 6:19:20 AM11/11/09
to ruby-...@googlegroups.com

What 'better' means is very much a subjective thing. Most if not all
of these tools (jeweler included) simply wrap around the existing Rake
tasks, are pretty opaque (and therefore unnecessarily hard to
customise), and come with their own ideas about filesystem layout and
development workflow. They all retain hoe-like qualities, even without
being added as explicit dependencies, because I can't develop a
jeweler-based gem without installing jeweler so I can run its tasks.

Some of these can be useful to some folks, but they're basically
getting in my way, and it really doesn't need to be that hard. I
suppose 'gem-this' demonstrates how simple it can really be.

My presentation would probably comprise of me explaining why I think
it's better not to use these tools, why I think they should get out of
the way, a bit about gem-this' approach, and then how to implement
your own gem command.

- James

Murray Steele

unread,
Nov 11, 2009, 6:41:56 AM11/11/09
to ruby-...@googlegroups.com
2009/11/11 James Adam <ja...@lazyatom.com>:

> My presentation would probably comprise of me explaining why I think
> it's better not to use these tools, why I think they should get out of
> the way, a bit about gem-this' approach, and then how to implement
> your own gem command.
>

Could "why I think it's better not to use these tools" be extracted
out of a round up of all the one's you later lay the smackdown upon?
Just so that everyone is aware of the landscape, before you
dynamite-blast your face onto it with the Mount Rushmore of gem-this?

Muz

Peter Ferne

unread,
Nov 12, 2009, 6:02:03 AM11/12/09
to ruby-...@googlegroups.com

+2
--
petef

Reply all
Reply to author
Forward
0 new messages