OptionParser mandatory versus optional arguments

I am trying, without success obviously, to check for a mandatory
argument switch using OptionParser. I have this code:

  opts.on("-m", "--mapfile=FILE",
          "Set data mapping file name",
          "  (default) '#{options.mapfile}'") do |file|
    options.mapfile << file.strip

As far as I can tell, the absence of [] around the argument FILE
should make this a required switch. However, when I run the script
without any switches at all it does not raise a missing argument
error. Why not?

Does ‘mandatory’ refer only to the value supplied to a switch and not
to the presence or absence of the switch itself?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs