Sha256: cc651e77cfee90efe3d5bdc7f4b64133913f14bbfc74be692ae17981048468a7
Contents?: true
Size: 685 Bytes
Versions: 2
Compression:
Stored size: 685 Bytes
Contents
# frozen_string_literal: true require "optparse" module Anyway # :nodoc: # Initializes the OptionParser instance using the given configuration class OptionParserBuilder class << self def call(options) OptionParser.new do |opts| options.each do |key, descriptor| opts.on(*option_parser_on_args(key, **descriptor)) do |arg| yield [key, arg] end end end end private def option_parser_on_args(key, flag: false, desc: nil) on_args = ["--#{key.to_s.tr("_", "-")}#{flag ? "" : " VALUE"}"] on_args << desc unless desc.nil? on_args end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
anyway_config-2.0.0.pre2 | lib/anyway/option_parser_builder.rb |
anyway_config-2.0.0.pre | lib/anyway/option_parser_builder.rb |