Sha256: b10fbd2ea0f95736b5024636e3b92e261d9568a5876e7310243277208a4199d5

Contents?: true

Size: 677 Bytes

Versions: 5

Compression:

Stored size: 677 Bytes

Contents

module SirTrevorRails
  module Blocks
    ##
    # Multi-up featured page block
    class FeaturedPagesBlock < SirTrevorRails::Block
      def page_options(id)
        (items.detect { |x| x[:id] == id }) || {}
      end

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

      def pages?
        !pages.empty?
      end

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

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

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
blacklight-spotlight-0.7.2 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.7.1 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.7.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.6.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.5.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb