Sha256: f40625247ca9e659d77e3a6db716e5fe3a6f498cf49d75991071dea84b4e4d33

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

# typed: strict
# frozen_string_literal: true

module Packwerk
  module ReferenceChecking
    module Checkers
      module Checker
        extend T::Sig
        extend T::Helpers

        abstract!

        sig { abstract.returns(ViolationType) }
        def violation_type; end

        sig { abstract.params(reference: Reference).returns(T::Boolean) }
        def invalid_reference?(reference); end

        sig { abstract.params(reference: Reference).returns(String) }
        def message(reference); end

        sig { params(reference: Reference).returns(String) }
        def standard_help_message(reference)
          standard_message = <<~EOS
            Inference details: this is a reference to #{reference.constant.name} which seems to be defined in #{reference.constant.location}.
            To receive help interpreting or resolving this error message, see: https://github.com/Shopify/packwerk/blob/main/TROUBLESHOOT.md#Troubleshooting-violations
          EOS

          standard_message.chomp
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
packwerk-2.3.0 lib/packwerk/reference_checking/checkers/checker.rb
packwerk-2.2.2 lib/packwerk/reference_checking/checkers/checker.rb
packwerk-2.2.1 lib/packwerk/reference_checking/checkers/checker.rb