Sha256: 87dc2987883d9dcb4d225b760dbaf9a4176c8616d14fc2120e917271bcc35eab
Contents?: true
Size: 1.46 KB
Versions: 4
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true require "rake" require "rake/tasklib" module RuboCop module Katalyst # Provides a custom rake task. # # require 'rubocop/katalyst/erb_lint_task' # RuboCop::Katalyst::ErbLintTask.new class ErbLintTask < ::Rake::TaskLib attr_accessor :verbose def initialize(verbose: true) super() @verbose = verbose desc "Run ErbLint" unless ::Rake.application.last_description task(erb_lint: "erb_lint:lint") setup_subtasks task(lint: :erb_lint) task(autocorrect: "erb_lint:autocorrect") end private def run_cli(verbose, *options) require "erb_lint/cli" cli = ERBLint::CLI.new puts "Running ERBLint" if verbose result = cli.run(["--config", config.to_path, *options]) abort("ERBLint failed!") unless result end def setup_subtasks namespace :erb_lint do desc "Run erb_lint linter" task :lint do run_cli(verbose, "--lint-all") end desc "Run erb_lint autocorrect" task :autocorrect do run_cli(verbose, "--lint-all", "-a") end end end def config config = ::Rails.application.root.join(".erb-lint.yml") config = default_config unless config.exist? config end def default_config Pathname.new(__dir__).join("../../../.erb-lint.yml") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems