Module: Tabry::ConfigBuilder

Defined in:
lib/tabry/config_builder.rb,
lib/tabry/config_builder/sub_builder.rb,
lib/tabry/config_builder/flagarg_builder.rb,
lib/tabry/config_builder/top_level_builder.rb,
lib/tabry/config_builder/arg_or_flag_builder.rb

Defined Under Namespace

Classes: ArgOrFlagBuilder, FlagargBuilder, SubBuilder, TopLevelBuilder

Class Method Summary collapse

Class Method Details

.build(names_underscores_to_dashes: false, &blk) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/tabry/config_builder.rb', line 8

def self.build(names_underscores_to_dashes: false, &blk)
  opts = { names_underscores_to_dashes: names_underscores_to_dashes }
  conf = TopLevelBuilder.build(opts, &blk)
  top_level = %w[cmd arg_includes option_includes]
  conf = conf.slice(*top_level).merge("main" => conf.reject { |k, _v| top_level.include?(k) })
  Tabry::Models::Config.new(raw: conf)
end