Newer
Older
class Communication::Block::Template::Page < Communication::Block::Template::Base
# kind could be: selection (default), children
@selected_pages ||= send "selected_pages_#{kind}"
end
def main_page
@main_page ||= page(data['page_id'])
end
def show_main_description
data['show_main_description'] || false
end
def kind
@kind ||= data['kind'] || 'selection'
end
def selected_pages_selection
elements.map { |element|
page element['id']
}.compact
end
def selected_pages_children
return [] unless main_page
main_page.children
.published
.ordered
page = block.about&.website
.pages
.published
.find_by(id: id)