Sha256: 77c9fd1e737ddaa39c31af05c5d8df03b000ffb0f7e124e9dc86463425eb7917
Contents?: true
Size: 1.04 KB
Versions: 12
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module PagesCore module RssController extend ActiveSupport::Concern private def all_feed_items feeds = Page.enabled_feeds(locale, include_hidden: true) Page.where(parent_page_id: feeds) .order("published_at DESC") .published .localized(locale) end def per_page_rss_param(default = 20, max = 1000) return default unless params[:per_page].is_a?(String) params[:per_page].to_i.clamp(1, max) end def render_page_rss(page, pagination_page = 1) if page.feed_enabled? render_rss(page.pages.paginate(per_page: per_page_rss_param, page: pagination_page) .includes(:image, :author), title: page.name) else render_error 404 end end def render_rss(items, title: nil) @title = PagesCore.config.site_name @title += ": #{title}" if title @items = items render template: "feeds/pages", layout: false end end end
Version data entries
12 entries across 12 versions & 1 rubygems