Sha256: c4a8cc6b2e04e24864264e99069437839a86762cac7e40b2937a799343e25f71

Contents?: true

Size: 608 Bytes

Versions: 63

Compression:

Stored size: 608 Bytes

Contents

module GovukTechDocs
  module TableOfContents
    class HeadingTree
      attr_accessor :parent, :heading, :children

      def initialize(parent: nil, heading: nil, children: [])
        @parent = parent
        @heading = heading
        @children = children
      end

      def depth
        if parent
          parent.depth + 1
        else
          1
        end
      end

      def ==(other)
        heading == other.heading &&
          children.length == other.children.length &&
          children.map.with_index { |child, index| child == other.children[index] }.all?
      end
    end
  end
end

Version data entries

63 entries across 63 versions & 2 rubygems

Version Path
govuk_tech_docs-4.2.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-4.1.2 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-4.1.1 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-4.1.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-4.0.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.5.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.4.5 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.4.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.3.1 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.3.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.2.1 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.2.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.1.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.0.1 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-3.0.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-2.4.3 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-2.4.2 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-2.4.1 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-2.4.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb
govuk_tech_docs-2.3.0 lib/govuk_tech_docs/table_of_contents/heading_tree.rb