Sha256: 5a8840fc8d982547e4416cbb75dcdd87c4cdd1e8ac12d8420ecf872e8715b91c
Contents?: true
Size: 890 Bytes
Versions: 24
Compression:
Stored size: 890 Bytes
Contents
module Eco class CLI class Config class OptionsSet attr_reader :core_config def initialize(core_config:) @core_config = core_config @options_set = {} end def add(option) raise "Missing block to define the options builder" unless block_given? callback = Proc.new [option].flatten.compact.each do |opt| @options_set[opt] = callback end self end def process(io:) unless io && io.is_a?(Eco::API::UseCases::BaseIO) raise "You need to provide Eco::API::UseCases::BaseIO object. Given: #{io.class}" end @options_set.each do |arg, callback| callback.call(io.options) if SCR.get_arg(arg) end io.options end end end end end
Version data entries
24 entries across 24 versions & 1 rubygems