Sha256: dfa6d2f6642c3e565d0821983ec26728fe86f14079bda6a8c1572cd1484d7c89

Contents?: true

Size: 984 Bytes

Versions: 3

Compression:

Stored size: 984 Bytes

Contents

require "rubocop"

module Standard
  module Runners
    class Rubocop
      def call(config)
        rubocop_runner = RuboCop::Runner.new(
          config.rubocop_options,
          config.rubocop_config_store
        )

        rubocop_runner.run(config.paths).tap do |success|
          print_errors_and_warnings(success, rubocop_runner)
          print_corrected_code_if_fixing_stdin(config.rubocop_options)
        end
      end

      private

      def print_errors_and_warnings(success, rubocop_runner)
        return unless success

        (rubocop_runner.warnings + rubocop_runner.errors).each do |message|
          warn message
        end
      end

      def print_corrected_code_if_fixing_stdin(rubocop_options)
        return unless rubocop_options[:stdin] && rubocop_options[:auto_correct]

        if rubocop_options[:stderr]
          warn "=" * 20
        else
          puts "=" * 20
        end
        print rubocop_options[:stdin]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
standard-1.0.1 lib/standard/runners/rubocop.rb
standard-1.0.0 lib/standard/runners/rubocop.rb
standard-0.13.0 lib/standard/runners/rubocop.rb