A helper for launching cross-platform applications in a fire and forget manner.
Pull request Compare This branch is 116 commits behind copiousfreetime:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
spec
.gitignore
HISTORY.rdoc
LICENSE
Manifest.txt
NOTES
README.rdoc
Rakefile

README.rdoc

launchy

DESCRIPTION

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.

FEATURES

Currently only launching a browser is supported.

SYNOPSIS

You can use launchy on the commandline, or via its API.

Commandline

% launchy http://www.ruby-lang.org/

There are additional commandline options, use 'launchy –help' to see them.

Public API

In the vein of Semantic Versioning, starting with version 2.0.0, this is the sole supported public API.

Launchy.open( uri, options = {} )

At the moment, the only available options are:

:debug        Turn on debugging output
:application  Explicitly state what application class is going to be used
:host_os      Explicitly state what host operating system to pretend to be
:ruby_engine  Explicitly state what ruby engine to pretend to be under
:dry_run      Do nothing and print the command that would be executed on $stdout

An example of using the public API:

Launchy.open( "http://www.ruby-lang.org" )

UPGRADING

The previously published version of Launchy was 0.4.0. There have been so many changes, and a mistaken tag at 1.0.0, that I have decided to bump all the way to 2.0.x.

I have attempted to keep backward compatibility with the previous examples. The previous API examples of:

Launchy::Browser.run("http://www.ruby-lang.org/")

and

Launchy::Browser.new.visit("http://www.ruby-lang.org/")

will still work, and you will get a deprecation notice, along with the line of code you should probably update. For example, this is what would print out in the github gem if it was updated to use 2.0.x but not use the supported API.

% gh home
WARNING: You made a call to a deprecated Launchy API. This call should be changed to 'Launchy.open( uri )'
WARNING: I think I was able to find the location that needs to be fixed. Please go look at:
WARNING:
WARNING: /Users/jeremy/.rvm/gems/ruby-1.8.7-p334/gems/github-0.6.2/lib/commands/helpers.rb:275:in `open'
WARNING: helper :open do |url|
WARNING:   has_launchy? proc {
WARNING:     Launchy::Browser.new.visit url
WARNING:   }
WARNING: end
WARNING:
WARNING: If this is not the case, please file a bug. Please file a bug at https://github.com/copiousfreetime/launchy/issues/new

ISC LICENSE

opensource.org/licenses/isc-license.txt

Copyright © 2007-2011 Jeremy Hinegardner

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.