title: How to generate OptionParser require arguments
body: <p>The code below works, but I am manually raising argument errors for the required arguments using <code>fetch</code>, when I want to build the required arguments into the native OptionParser sytax for required parameters:</p>
  
  <pre><code># ocra script.rb -- --type=value
  options = {}
  OptionParser.new do |opts|
    opts.banner = "Usage: example.rb [options]"
  
    opts.on("--type [TYPE]",String, [:gl, :time], "Select Exception file type (gl, time)") do |t|
      options["type"] = t
    end
  
    opts.on("--company [TYPE]",String, [:jaxon, :doric], "Select Company (jaxon, doric)") do |t|
      options["company"] = t
    end
  
  end.parse!
  
  opts = {}
  opts['type'] = options.fetch('type') do
    raise ArgumentError,"no 'type' option specified  as a parameter (gl or time)"
  end
  
  opts['company'] = options.fetch('company') do
    raise ArgumentError,"no 'company' option specified  as a parameter (doric or jaxon)"
  end
  </code></pre>