Trollop is YAFCLAP — yet another fine commandline argument
processing library for Ruby. Trollop is designed to provide the
maximal amount of GNU-style argument processing in the minimum number
of lines of code (for you, the programmer).
Trollop provides a nice automatically-generated help page, robust
option parsing, and sensible defaults for everything you don’t
specify.
Synopsis:
simple
opts = Trollop::options do
opt :monkey, “Use monkey mode.”
opt :goat, “Use goat model”, :default => true
opt :num_limbs, “Set number of limbs”, :default => 4
end
p opts
complex
opts = Trollop::options do
version “test 1.2.3 (c) 2007 William M.”
banner <<-EOS
Test is an awesome program that does something very, very important.
Usage:
test [options] +
where [options] are:
EOS
opt :ignore, "Ignore incorrect values"
opt :file, "Extra data filename to read in, with a very long option
description like this one", :type => String
opt :volume, “Volume level”, :default => 3.0
opt :iters, “Number of iterations”, :default => 5
end
Trollop::die :volume, “must be non-negative” if opts[:volume] < 0
Trollop::die :file, “must exist” unless File.exists?(opts[:file]) if
opts[:file]
== REQUIREMENTS:
none
Changes:
== 1.1 / 2007-01-30
Trollop::options now passes any arguments as block arguments. Since
instance variables are not properly captured by the block, this
makes it slightly less noisy to pass them in as local variables.
(A real-life use for _why’s cloaker!)
Help display now preserves original argument order.
Trollop::die now also has a single string form in case death is not
due to a single argument.
Parser#text now an alias for Parser#banner, and can be called
multiple times, with the output being placed in the right position
in the help text.
Slightly more indicative formatting for parameterized arguments.
So in effect, Trollop depends on Hoe and Rubyforge. Do you know any
way to not depend on hoe ? I would like to find out, so I can use
Trollop in Piston and not bother with Hoe.
My understanding is that Hoe allows you to generate gems. Is it still
useful after the initial generation ?
So in effect, Trollop depends on Hoe and Rubyforge. Do you know any
way to not depend on hoe ? I would like to find out, so I can use
Trollop in Piston and not bother with Hoe.
So in effect, Trollop depends on Hoe and Rubyforge. Do you know any
way to not depend on hoe ? I would like to find out, so I can use
Trollop in Piston and not bother with Hoe.
Can we NOT start with this again??
As usual, the path to enlightenment is cuts through the garden of
education:
For the benefit of the OP, here is the (somewhat long) discussion that
went on on this topic recently: http://rubyurl.com/fm5
So in effect, Trollop depends on Hoe and Rubyforge. Do you know any
way to not depend on hoe ? I would like to find out, so I can use
Trollop in Piston and not bother with Hoe.
That’s the solution for gem-makers. For gem-installers, it’s:
gem install trollop --ignore-dependencies
vi $RUBYLIB/gems/1.8/specifications/trollop-1.1.gemspec