lib/cc/engine/rubocop.rb (54 lines of code) (raw):

# frozen_string_literal: true require "json" require "delegate" require "pathname" require "rubocop" require "rubocop/config_patch" require "rubocop/cop/method_complexity_patch" require "rubocop/cop/method_length" require "rubocop/cop/class_length" require "cc/engine/source_file" require "cc/engine/category_parser" require "cc/engine/file_list_resolver" require "cc/engine/issue" require "cc/engine/fingerprint" require "active_support" require "active_support/core_ext" module CC module Engine class Rubocop def initialize(root, engine_config, io) @root = root @engine_config = engine_config || {} @io = io end def run Dir.chdir(root) do files_to_inspect.each do |path| SourceFile.new( config_store: config_store.for(path), io: io, path: path, root: root, ).inspect end end end private attr_reader :root, :engine_config, :io def files_to_inspect @files_to_inspect ||= FileListResolver.new( config_store: config_store, engine_config: engine_config, root: root, ).expanded_list end def config_store @config_store ||= RuboCop::ConfigStore.new.tap do |config_store| if (config_file = engine_config["config"]) config_store.options_config = config_file end end end end end end