lib/milestoner/cli/parser.rb in milestoner-13.3.1 vs lib/milestoner/cli/parser.rb in milestoner-14.0.0

- old
+ new

@@ -4,28 +4,32 @@ module Milestoner module CLI # Assembles and parses all Command Line Interface (CLI) options. class Parser + include Import[:configuration] + CLIENT = OptionParser.new nil, 40, " " - SECTIONS = [Parsers::Core, Parsers::Security].freeze # Order is important. + SECTIONS = [Parsers::Core].freeze - def initialize sections: SECTIONS, client: CLIENT, container: Container + def initialize sections: SECTIONS, client: CLIENT, **dependencies + super(**dependencies) + @sections = sections @client = client - @configuration = container[:configuration].dup + @configuration_duplicate = configuration.dup end def call arguments = [] - sections.each { |section| section.call configuration, client: } + sections.each { |section| section.call configuration_duplicate, client: } client.parse arguments - configuration.freeze + configuration_duplicate.freeze end def to_s = client.to_s private - attr_reader :sections, :client, :configuration + attr_reader :sections, :client, :configuration_duplicate end end end