Class: SirTrevorRails::Blocks::FeaturedPagesBlock
- Inherits:
-
SirTrevorRails::Block
- Object
- SirTrevorRails::Block
- SirTrevorRails::Blocks::FeaturedPagesBlock
- Defined in:
- app/models/sir_trevor_rails/blocks/featured_pages_block.rb
Overview
Multi-up featured page block
Instance Method Summary collapse
- #item_ids ⇒ Object
- #items ⇒ Object
- #order ⇒ Object
- #page_options(id) ⇒ Object
- #pages ⇒ Object
- #pages? ⇒ Boolean
Instance Method Details
#item_ids ⇒ Object
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 |
#items ⇒ Object
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 |
#order ⇒ Object
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 (id) (items.detect { |x| x[:id] == id }) || {} end |
#pages ⇒ Object
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
16 17 18 |
# File 'app/models/sir_trevor_rails/blocks/featured_pages_block.rb', line 16 def pages? !pages.empty? end |