On Sun, Aug 12, 2007 at 06:31:00PM +0900, Trans wrote:
> 
> 
> On Aug 11, 11:51 pm, Jeremy Hinegardner <jer... / hinegardner.org>
> wrote:
> > launchy version 0.1.2 has been released.
> >
> >    http://copiousfreetime.rubyforge.org/launchy/
> >
> > Example:
> >
> >     Launchy.do_magic("http://www.rubyforge.org")
> >
> > or
> >
> >     Launchy::Spawnable::Browser.new.visit("http://www.ruby-lang.org/")
> >
> > Launchy is helper class for launching cross-platform applications in a
> > fire and forget manner.
> >
> > There are application concepts (browser, email client, etc) that are common
> > across all platforms, and they may be launched differently on each
> > platform.  Launchy is here to make a common approach to launching
> > external application from within ruby programs.
> >
> > {{ Changelog for Version 0.1.2 }}
> >
> > === Version 0.1.2 - 2007-08-11
> >
> > * first publicly announced release
> > * make forked child exit without calling at_exit handlers
> >
> > enjoy,
> 
> Looks very interesting. I might use this on one of my projects. Some
> thoughts/questions:
> 
> * This is clearly useful for launching a browser. (which is what I
> could use it for). But will it really be useful for anything else?
> Maybe I can see launching an email program, but I'm not even sure
> about that.

I'm not sure either, I would like to add email programs for sure, other
applications, I don't know, I'll leave it open to be filled as there is 
demand.  Music players?  Image viewers?

> * How does it deal with a systems that have more than one browser
> installed? Which browser does it choose?

I'm working on that, primarily it should use an 'autocmd' on each system
that can detect the preferred application on the system, then fall back
to reasonable defaults.

> * What is Launchy::Specification for, how is it used?

I bootstrapped the development of Launchy with another project I'm
working on, rabal (http://copiousfreetime.rubyforge.org/rabal/).

Rabal generates directory structure, Rakefiles, some classes useful for
most applicaiton (version.rb, initial unit testing, license templates
etc.).  specification.rb is a generated file from rabal and an instance
of the Launchy::Specification is in gemspec.rb. This instance is used by
the Rakefiles for project management and can be used from within the
application itself for displaying help, contact information etc.

Rabal could use some feedback so if your interested I would love to hear
what anyone thinks.  It resembles hoe in some respects, but it made
to be extensible, so if you have your own directory/file templates you
can write in a plugin to manage them and rabal will pick them up and
incorporate them into the application.

> * If I may make a suggestion... I think the API would be nicer if you
> did without the Spawnable namespace. Just Launchy::Browser would be
> much nicer.

I'll think about it.

> Nice work!
> T.

Thanks!

-jeremy

-- 
========================================================================
 Jeremy Hinegardner                              jeremy / hinegardner.org