Sha256: 2e4f8eedd31d0a07340a2991ed41b411947ef2fca1d1429a9000f30fc47f7d9d
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true require 'forwardable' require_relative 'input' require_relative '../report' module Reek module CLI # # Interprets the options set from the command line # class OptionInterpreter include Input extend Forwardable def_delegators :options, :smells_to_detect, :success_exit_code, :failure_exit_code def initialize(options) @options = options @argv = options.argv end def reporter @reporter ||= report_class.new( warning_formatter: warning_formatter, report_formatter: Report::Formatter, sort_by_issue_count: sort_by_issue_count, heading_formatter: heading_formatter) end def report_class Report.report_class(options.report_format) end def warning_formatter warning_formatter_class.new(location_formatter: location_formatter) end def warning_formatter_class Report.warning_formatter_class(options.show_links ? :wiki_links : :simple) end def location_formatter Report.location_formatter(options.location_format) end def heading_formatter Report.heading_formatter(options.show_empty ? :verbose : :quiet) end def sort_by_issue_count options.sorting == :smelliness end private attr_reader :argv, :options end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
reek-4.0.0 | lib/reek/cli/option_interpreter.rb |
reek-4.0.0.pre1 | lib/reek/cli/option_interpreter.rb |