Sha256: f678a18e43a3577c27970ea848219d92f369229ad1ac46d796b53aebcfc28824
Contents?: true
Size: 640 Bytes
Versions: 6
Compression:
Stored size: 640 Bytes
Contents
# frozen_string_literal: true require "okay/version" require "optparse" module Okay ## # An OptionParser wrapper providing a few convenience functions. class SimpleOpts < OptionParser def initialize(*args, defaults: nil) super(*args) @okay_options = defaults || {} end # simple(..., :a) # simple(..., :b) # == # options = {} # on(...) { |val| options[:a] = val } # on(...) { |val| options[:b] = val } def simple(*args) key = args.pop on(*args) { |*x| @okay_options[key] = x[0] } end def parse(args) parse!(args.dup) @okay_options end end end
Version data entries
6 entries across 6 versions & 1 rubygems