Sha256: 5a232df8b5ec67d78bbcbc0bef9bcee7150b1ba30869728f1554927a3fa2edb8

Contents?: true

Size: 754 Bytes

Versions: 2

Compression:

Stored size: 754 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module Packwerk
  # An offense related to a {Packwerk::Reference}.
  class ReferenceOffense < Offense
    extend T::Sig
    extend T::Helpers

    sig { returns(Reference) }
    attr_reader :reference

    sig { returns(String) }
    attr_reader :violation_type

    sig do
      params(
        reference: Packwerk::Reference,
        violation_type: String,
        message: String,
        location: T.nilable(Node::Location)
      )
        .void
    end
    def initialize(reference:, violation_type:, message:, location: nil)
      super(file: T.must(reference.relative_path), message: message, location: location)
      @reference = reference
      @violation_type = violation_type
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
packwerk-3.2.2 lib/packwerk/reference_offense.rb
packwerk-3.2.1 lib/packwerk/reference_offense.rb