Sha256: 2403a3181ddd5a1304ddf476c3f20ce5a727c0299e7e47a12a14e99ab477b53d

Contents?: true

Size: 679 Bytes

Versions: 11

Compression:

Stored size: 679 Bytes

Contents

# typed: strict

module VisualizePackwerk
  class PackageNode < T::Struct
    extend T::Sig
    include NodeInterface

    const :name, String
    const :team_name, String
    const :violations_by_package, T::Hash[String, Integer]
    const :dependencies, T::Set[String]

    sig { override.returns(T::Hash[String, Integer]) }
    def violations_by_node_name
      violations_by_package
    end

    sig { override.returns(String) }
    def group_name
      team_name
    end

    sig { override.params(node_name: String).returns(T::Boolean) }
    def depends_on?(node_name)
      dependencies.include?(node_name) || (violations_by_package[node_name] || 0) > 0
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
visualize_packwerk-0.2.3 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.2.1 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.2.0 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.1.3 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.1.2 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.1.1 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.1.0 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.0.6 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.0.5 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.0.4 lib/visualize_packwerk/package_node.rb
visualize_packwerk-0.0.1 lib/visualize_packwerk/package_node.rb