Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Yet another options parser. Parses the command-line arguments and parameters. Simple, lightweight with nice declarative approach.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 test.rb
Octocat-spinner-32 yaop.gemspec
README.md

YAOP -- Yet Another Options Parser

YAOP parses the command-line for both named (arguments) and unnamed (parameters) options and returns them in hash and array. It's intended to be feature-less, simple and lightweight one. It uses declarative approach. See example:

require "yaop"

options = YAOP::get do
    option "--strip"          # simple presency is enough

    options "-l", "--level"   # both of them
    type Integer, 7           # first part, default value 7
    type Integer, 8           # second part, default value 8
    type Integer, 9           # third part, default value 9
end

If command line will be script.rb -l 1 2 --strip "file1.txt" "file2.txt", result will be:

p options.arguments
# will print { "--strip" => true, "-l" => [1, 2, 9], "--level" => [1, 2, 9] }

p options.parameters
# will print ["file1.txt", "file2.txt"]

Be warn, classic syntax like -sl 1 isn't supported.

Contributing

  1. Fork it.
  2. Create a branch (git checkout -b 20101220-my-change).
  3. Commit your changes (git commit -am "Added something").
  4. Push to the branch (git push origin 20101220-my-change).
  5. Create an Issue with a link to your branch.
  6. Enjoy a refreshing Diet Coke and wait.

Copyright

Copyright © 2011-2012 Martin Kozák. See LICENSE.txt for further details.

Something went wrong with that request. Please try again.