Sha256: 9d9316fbc1a97031cebaec3b95aeaa265a5d394739a4c858b365097b138bc581

Contents?: true

Size: 638 Bytes

Versions: 11

Compression:

Stored size: 638 Bytes

Contents

# typed: strict

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

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

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

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

    sig { override.params(node_name: String).returns(T::Boolean) }
    def depends_on?(node_name)
      dependencies.include?(node_name) || (violations_by_node_name[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/team_node.rb
visualize_packwerk-0.2.1 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.2.0 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.1.3 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.1.2 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.1.1 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.1.0 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.0.6 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.0.5 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.0.4 lib/visualize_packwerk/team_node.rb
visualize_packwerk-0.0.1 lib/visualize_packwerk/team_node.rb