Sha256: 0178092d13e6155e0981377b6aed8ccf40b5d9cb9947dc9647f1982a216a0d0b

Contents?: true

Size: 996 Bytes

Versions: 5

Compression:

Stored size: 996 Bytes

Contents

# typed: true
# frozen_string_literal: true

require "sorbet-runtime"

require "packwerk/reference_lister"

module Packwerk
  class CheckingDeprecatedReferences
    extend T::Sig
    include ReferenceLister

    def initialize(root_path)
      @root_path = root_path
      @deprecated_references = {}
    end

    sig do
      params(reference: Packwerk::Reference, violation_type: ViolationType)
        .returns(T::Boolean)
        .override
    end
    def listed?(reference, violation_type:)
      deprecated_references_for(reference.source_package).listed?(reference, violation_type: violation_type)
    end

    private

    def deprecated_references_for(source_package)
      @deprecated_references[source_package] ||= Packwerk::DeprecatedReferences.new(
        source_package,
        deprecated_references_file_for(source_package),
      )
    end

    def deprecated_references_file_for(package)
      File.join(@root_path, package.name, "deprecated_references.yml")
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
packwerk-1.1.1 lib/packwerk/checking_deprecated_references.rb
packwerk-1.1.0 lib/packwerk/checking_deprecated_references.rb
packwerk-1.0.2 lib/packwerk/checking_deprecated_references.rb
packwerk-1.0.1 lib/packwerk/checking_deprecated_references.rb
packwerk-1.0.0 lib/packwerk/checking_deprecated_references.rb