Sha256: 562cd95597d4b0ffa76a64d8db989b7c080dbb5cb00fafd4b4e0e3f387a55ce4

Contents?: true

Size: 809 Bytes

Versions: 7

Compression:

Stored size: 809 Bytes

Contents

module Pageflow
  # @api private
  EntriesFeed = Struct.new(:title, :locale, :custom_url, :root_url, :entries) do
    def updated_at
      entries.map(&:published_at).max
    end

    class << self
      def for(site:, locale:)
        new(
          site.title.presence || site.host,
          locale,
          site.custom_feed_url&.gsub(':locale', locale),
          site.canonical_entry_url_prefix&.gsub(':locale', locale),
          find_entries(site, locale)
        )
      end

      private

      def find_entries(site, locale)
        Pageflow::PublishedEntry.wrap_all(
          site
            .entries
            .published_without_password_protection
            .where(pageflow_revisions: {locale: locale})
            .order('first_published_at DESC')
        )
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pageflow-17.0.4 app/models/pageflow/entries_feed.rb
pageflow-17.0.3 app/models/pageflow/entries_feed.rb
pageflow-17.0.2 app/models/pageflow/entries_feed.rb
pageflow-17.0.1 app/models/pageflow/entries_feed.rb
pageflow-17.0.0 app/models/pageflow/entries_feed.rb
pageflow-16.2.0 app/models/pageflow/entries_feed.rb
pageflow-16.1.0 app/models/pageflow/entries_feed.rb