args_parser
- Parse/Filter/Validate ARGV from command line with DSL.
- http://shokai.github.io/args_parser
Requirements
- Ruby 1.8.7 ~ 2.0.0
Install
% gem install args_parser
Synopsis
% ruby samples/download_webpage.rb -url http://example.com -o out.html
parse ARGV
require 'rubygems'
require 'args_parser'
args = ArgsParser.parse ARGV do
arg :url, 'URL', :alias => :u
arg :output, 'output file', :alias => :o, :default => 'out.html'
arg :verbose, 'verbose mode'
arg :help, 'show help', :alias => :h
filter :url do |v|
v.to_s.strip
end
validate :url, "invalid URL" do |v|
v =~ /^https?:\/\/.+$/
end
end
if args.has_option? :help or !args.has_param?(:url, :output)
STDERR.puts args.help
exit 1
end
require 'open-uri'
puts 'download..' if args[:verbose]
open(args[:output], 'w+') do |f|
f.write open(args[:url]).read
end
puts "saved! => #{args[:output]}"
equal style
% ruby samples/equal_style.rb --help
% ruby samples/equal_style.rb --user=shokai hello world --a=1234
parse equal style ARGV
args = ArgsArgs.parse ARGV, :style => :equal do
see more samples https://github.com/shokai/args_parser/tree/master/samples
Test
% gem install bundler
% bundle install
% bundle exec rake test
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request