Trollop пока не упоминается: рекомендуемый, декларативный и компактный. Хотя его, очевидно, можно использовать в качестве драгоценного камня, вы всегда можете скопировать его в свой проект, поскольку это (относительно небольшой) отдельный файл.
require 'trollop'
opts = Trollop::options do
opt :monkey, "Use monkey mode" # flag --monkey, default false
opt :goat, "Use goat mode", :default => true # flag --goat, default true
opt :num_limbs, "Number of limbs", :default => 4 # integer --num-limbs <i>, default to 4
opt :num_thumbs, "Number of thumbs", :type => :int # integer --num-thumbs <i>, default nil
end
#=> {:monkey => false, :goat => true, :num_limbs => 4, :num_thumbs => nil}