any good reason these would not have a common parent Bool or something?

  case arg
    when Bool
      ...
  end

  options = {
    :mosaic => ['--mosaic=[mosaic]','-m', Bool],
  ...
  }


-a
-- 
===============================================================================
| EMAIL   :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
| PHONE   :: 303.497.6469
| ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328
| URL     :: http://www.ngdc.noaa.gov/stp/
| TRY     :: for l in ruby perl;do $l -e "print \"\x3a\x2d\x29\x0a\"";done 
===============================================================================