Sha256: 26f2d27b798dab96a2277016fc66252875e76912c2946f0a364702e9e1facbd5

Contents?: true

Size: 770 Bytes

Versions: 3

Compression:

Stored size: 770 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(ViolationType) }
    attr_reader :violation_type

    sig do
      params(
        reference: Packwerk::Reference,
        violation_type: Packwerk::ViolationType,
        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

3 entries across 3 versions & 1 rubygems

Version Path
packwerk-2.3.0 lib/packwerk/reference_offense.rb
packwerk-2.2.2 lib/packwerk/reference_offense.rb
packwerk-2.2.1 lib/packwerk/reference_offense.rb