やっつけスクリプトのテンプレート

http://tabesugi.net/memo/cur/12.html#201214を見て、Rubyでやっつけスクリプトを書くときのテンプレートを考えてみました。こんな感じかな。-dddでデバッグレベルを変更できるのがポイント。

#!/usr/bin/env ruby
# -*- ruby -*-
# $Id:$

require 'ostruct'

$opts = OpenStruct.new(:debug => 0)

def main
  puts 'debug level 1' if $opts.debug > 0
  puts 'debug level 2' if $opts.debug > 1

  while line = ARGF.gets
    puts line
  end
end

if __FILE__ == $0
  require 'optparse'
  
  Version = '0.1a'
  OptionParser.new do |opt|
    opt.on('-d', '--debug', 'enable debug mode.') do
      $opts.debug += 1
    end
    opt.parse!(ARGV)
  end

  main
end