Class: SirTrevorRails::Blocks::FeaturedPagesBlock

Inherits:
SirTrevorRails::Block
  • Object
show all
Defined in:
app/models/sir_trevor_rails/blocks/featured_pages_block.rb

Overview

Multi-up featured page block

Instance Method Summary collapse

Instance Method Details

#item_idsObject



20
21
22
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 20

def item_ids
  items.map { |v| v[:id] }
end

#itemsObject



24
25
26
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 24

def items
  item.values.select { |x| x[:display] == 'true' }
end

#orderObject



28
29
30
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 28

def order
  items.sort_by { |x| x[:weight] }.map { |x| x[:id] }
end

#page_options(id) ⇒ Object



6
7
8
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 6

def page_options(id)
  (items.detect { |x| x[:id] == id }) || {}
end

#pagesObject



10
11
12
13
14
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 10

def pages
  @pages ||= parent.exhibit.pages.published.where(slug: item_ids).sort do |a, b|
    order.index(a.slug) <=> order.index(b.slug)
  end
end

#pages?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 16

def pages?
  !pages.empty?
end