概要
書籍 Build Awesome Command-Line Applications in Ruby2
章
Be Helpful
詳細
CLIアプリケーションをどういった目的に利用するのか、ヘルプに含めること。
例として ls コマンドの日本語ヘルプを見てみます。
$ ls --help 使用法: ls [オプション]... [ファイル]... FILE に関する情報を一覧表示します (デフォルトは現在のディレクトリ)。 -cftuvSUX または --sort が指定されない限り、要素はアルファベット順で並べ替えられます。
アプリケーションの目的を OptionParser の bannar に追加してみます。
下記記事のサンプルをベースに設定を追加します。
Ruby | CLI | Be Easy to Use | Ruby | CLI | Be Easy to Use | OptionParserを利用した使いやすいCLIインターフェース
http://d.hatena.ne.jp/tbpg/20140526/1401109608
サンプルコード
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 = <<-EOS テキストを大文字か小文字に変換して出力します。 Usage: #{opts.program_name} [options] text EOS 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 小文字に変換します