Sha256: 19991e839f33f0b723fe1668be40e89056a3b319c441b3d99407eaff9bcda1c9
Contents?: true
Size: 577 Bytes
Versions: 1
Compression:
Stored size: 577 Bytes
Contents
# frozen_string_literal: true module OptionsParser def required_options(initializer) options_that_are(initializer, :required) end def optional_options(initializer) options_that_are(initializer, :optional) end private def options_that_are(initializer, constraint) raise(ArgumentError, 'constraint must be required or optional') unless %i[required optional].include?(constraint) method = constraint.eql?(:required) ? :select : :reject initializer[2][:current_command].options.send(method) { |_k, v| v.required } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
emasser-3.4.1 | lib/emasser/options_parser.rb |