Sha256: edbce43ba0a5d1795b63ab0eb8129c8e2b8168c4f1c13bac7b393f7174209a25

Contents?: true

Size: 746 Bytes

Versions: 4

Compression:

Stored size: 746 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: reference.relative_path, message: message, location: location)
      @reference = reference
      @violation_type = violation_type
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
packwerk-3.2.0 lib/packwerk/reference_offense.rb
packwerk-3.1.0 lib/packwerk/reference_offense.rb
packwerk-3.0.1 lib/packwerk/reference_offense.rb
packwerk-3.0.0 lib/packwerk/reference_offense.rb