#!/usr/bin/env ruby # # $Id$ require 'rubyloader' require 'optparse' def main all = false quiet = false parser = OptionParser.new parser.on('-a', '--all', 'print all candidates.') { all = true } parser.on('-q', '--quiet', 'suppress message.') { quiet = true } parser.on('--help', 'print this message and quit.') { puts parser.help exit 0 } begin parser.parse! unless ARGV.size == 1 $stderr.puts 'wrong number of arguments' exit 1 end rescue OptionParser::ParseError => err $stderr.puts err.message $stderr.puts parser.help exit 1 end case when quiet begin RubyLoader.find_feature(ARGV[0]) exit 0 rescue ArgumentError exit 1 end when all RubyLoader.find_feature_all(ARGV[0]).each do |path| puts path end else puts RubyLoader.find_feature(ARGV[0]) end rescue ArgumentError => err $stderr.puts err.message exit 1 end main