Sha256: 58a22393e320c24749ea3dab02e6caf3b07b1aec268d3120b0fa76c4ad3cb9e6

Contents?: true

Size: 729 Bytes

Versions: 9

Compression:

Stored size: 729 Bytes

Contents

module SirTrevorRails
  module Blocks
    ##
    # Multi-up featured page block
    class FeaturedPagesBlock < SirTrevorRails::Block
      include Displayable

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

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

      def pages?
        !pages.empty?
      end

      def as_json
        result = super

        result[:data][:item].each do |_k, v|
          v['thumbnail_image_url'] = parent.exhibit.pages.find(v['id']).thumbnail_image_url
        end

        result
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
blacklight-spotlight-1.0.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-1.0.0.alpha2 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-1.0.0.alpha1 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.34.1 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.34.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.33.3 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.33.2 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.33.1 app/models/sir_trevor_rails/blocks/featured_pages_block.rb
blacklight-spotlight-0.33.0 app/models/sir_trevor_rails/blocks/featured_pages_block.rb