class SwedbankPay::SidebarPageCollection

Arranges Sidebar pages into a tree

Public Class Methods

new(parent, pages = []) click to toggle source
# File lib/sidebar_page_collection.rb, line 12
def initialize(parent, pages = [])
  raise ArgumentError, 'Pages must be an array' unless pages.is_a? Array

  @pages = []

  pages.each_with_index do |page, index|
    page.number = index
    page.parent = parent
    @pages.push(page)
  end
end

Public Instance Methods

count() click to toggle source
# File lib/sidebar_page_collection.rb, line 24
def count
  return 0 if @pages.empty?

  count = @pages.length

  @pages.each do |page|
    count += page.children.count
  end

  count
end
to_liquid() click to toggle source
# File lib/sidebar_page_collection.rb, line 36
def to_liquid
  @pages
end