Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

Ruby | CLI | Be Helpful | Documenting a Command-Line Arguments

概要

書籍 Build Awesome Command-Line Applications in Ruby2

Be Helpful

詳細

引数の情報を OptionParser の bannar に追加してみます。
下記記事のサンプルをベースに設定を追加します。

Ruby | CLI | Be Easy to Use | Ruby | CLI | Be Easy to Use | OptionParserを利用した使いやすいCLIインターフェース
http://d.hatena.ne.jp/tbpg/20140526/1401109608

サンプルコード

$ ruby 1.rb --help
require 'optparse'
require 'pp'

options = {}
opts = OptionParser.new do |opts|
  opts.on("-u", "--upcase", "大文字に変換します"){ |v| options[:upcase] = true }
  opts.on("-d", "--downcase", "小文字に変換します"){ |v| options[:downcase] = true }
  opts.program_name = "up_down_converter"
  opts.version = "0.0.1"
  opts.banner = "Usage: #{opts.program_name} [options] text"
end

opts.parse!(ARGV)
pp options

text = ARGV.first

if options[:upcase]
  puts text.upcase
elsif options[:downcase]
  puts text.downcase
else
  puts text
end

ヘルプの表示

$ ruby 1.rb -h
Usage: up_down_converter [options] text
    -u, --upcase                     大文字に変換します
    -d, --downcase                   小文字に変換します