Sha256: 6215634d178ea1c9dda5d9cc07cadb4fd7eeb25aa33d6d73ef4b7689185435c0

Contents?: true

Size: 552 Bytes

Versions: 1

Compression:

Stored size: 552 Bytes

Contents

module SirTrevorRails::Blocks
  class FeaturedPagesBlock < SirTrevorRails::Block

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

    def pages
      ids = items.map { |v| v[:id] }
      @pages ||= parent.exhibit.pages.published.where(slug: ids).sort { |a,b| order.index(a.id) <=> order.index(b.id) }
    end

    def pages?
      !pages.empty?
    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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blacklight-spotlight-0.4.1 app/models/sir_trevor_rails/blocks/featured_pages_block.rb