class Rfix::CLI::Command::Base
Private Instance Methods
define(reference, args: Undefined, **params)
click to toggle source
# File lib/rfix/cli/command/base.rb, line 29 def define(reference, args: Undefined, **params) handler = Rfix::Repository.new( current_path: Pathname.pwd.relative_path_from(reference.repository.workdir), repository: reference.repository, reference: reference ) RuboCop::CommentConfig.class_eval do concerning :Repository do define_method(:repository, &handler.method(:itself)) end end paths = handler.paths variadic_args = Undefined.default(args, EMPTY_ARRAY) RuboCop::Options.new.parse(variadic_args).then do |user_defined_options, user_defined_paths| params.merge!(user_defined_options) unless user_defined_paths.empty? paths.replace(user_defined_paths) end end config = RuboCop::ConfigStore.new.tap do |config_store| RuboCop::ConfigLoader.configuration_file_for(handler.workdir).then do |loader| config_store.options_config = loader rescue RuboCop::Cop::AmbiguousCopName => e abort e.message end end if params[:no_cache] RuboCop::ResultCache.cleanup(config, true) XDG::Config.new.home.then do |cache_path| cache_path.rmtree if cache_path.exist? end end params.merge!(repository: handler) env = RuboCop::CLI::Environment.new(params, config, paths) RuboCop::CLI::Command::ExecuteRunner.new(env).run end