lib/rubycritic/cli/application.rb
# frozen_string_literal: true require 'rubycritic' require 'rubycritic/browser' require 'rubycritic/cli/options' require 'rubycritic/command_factory' module RubyCritic module Cli class Application STATUS_SUCCESS = 0 STATUS_ERROR = 1 def initialize(argv) @options = Options.new(argv) end def execute parsed_options = @options.parse.to_h reporter = RubyCritic::CommandFactory.create(parsed_options).execute print(reporter.status_message) reporter.status rescue OptionParser::InvalidOption => error warn "Error: #{error}" STATUS_ERROR end def print(message) $stdout.puts message end end end end