Sha256: bb18c39f19e0839a28205329c2c7abeb6e29ca13c18848cc534adf2f04996fab

Contents?: true

Size: 696 Bytes

Versions: 21

Compression:

Stored size: 696 Bytes

Contents

# frozen_string_literal: true

require 'rubycritic/cli/options/argv'
require 'rubycritic/cli/options/file'

module RubyCritic
  module Cli
    class Options
      attr_reader :argv_options, :file_options

      def initialize(argv)
        @argv_options = Argv.new(argv)
        @file_options = File.new
      end

      def parse
        argv_options.parse
        file_options.parse
        self
      end

      # :reek:NilCheck
      def to_h
        file_hash = file_options.to_h
        argv_hash = argv_options.to_h

        file_hash.merge(argv_hash) do |_, file_option, argv_option|
          Array(argv_option).empty? ? file_option : argv_option
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
rubycritic-4.9.1 lib/rubycritic/cli/options.rb
rubycritic-4.9.0 lib/rubycritic/cli/options.rb
rubycritic-4.8.1 lib/rubycritic/cli/options.rb
rubycritic-4.8.0 lib/rubycritic/cli/options.rb
rubycritic-4.7.0 lib/rubycritic/cli/options.rb
rubycritic-4.6.1 lib/rubycritic/cli/options.rb
rubycritic-4.6.0 lib/rubycritic/cli/options.rb
rubycritic-4.5.2 lib/rubycritic/cli/options.rb
rubycritic-4.5.1 lib/rubycritic/cli/options.rb
rubycritic-4.5.0 lib/rubycritic/cli/options.rb
rubycritic-4.4.1 lib/rubycritic/cli/options.rb
rubycritic-4.4.0 lib/rubycritic/cli/options.rb
rubycritic-4.3.3 lib/rubycritic/cli/options.rb
rubycritic-4.3.2 lib/rubycritic/cli/options.rb
rubycritic-4.3.1 lib/rubycritic/cli/options.rb
rubycritic-4.3.0 lib/rubycritic/cli/options.rb
rubycritic-4.2.2 lib/rubycritic/cli/options.rb
rubycritic-4.2.1 lib/rubycritic/cli/options.rb
rubycritic-4.2.0 lib/rubycritic/cli/options.rb
rubycritic-simplecov-4.1.1 lib/rubycritic/cli/options.rb