Sha256: a12f9cb53877e2f9303698477f95c4e685a552c5a3149e05cf2c288d8755d879

Contents?: true

Size: 811 Bytes

Versions: 21

Compression:

Stored size: 811 Bytes

Contents

# frozen_string_literal: true

module Thredded
  # A view model for a page of PostViews.
  class PostsPageView
    delegate :to_a,
             :to_ary,
             :present?,
             to: :@post_views
    delegate :total_pages,
             :current_page,
             :limit_value,
             to: :@paginated_scope

    # @return [Thredded::BaseTopicView]
    attr_reader :topic

    # @param user [Thredded.user_class] the user who is viewing the posts page
    # @param paginated_scope [ActiveRecord::Relation<Thredded::PostCommon>]
    def initialize(user, paginated_scope, topic_view: nil)
      @paginated_scope = paginated_scope
      @post_views = paginated_scope.map do |post|
        Thredded::PostView.new(post, Pundit.policy!(user, post), topic_view: topic_view)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
thredded-0.16.16 app/view_models/thredded/posts_page_view.rb
thredded-0.16.15 app/view_models/thredded/posts_page_view.rb
thredded-0.16.14 app/view_models/thredded/posts_page_view.rb
thredded-0.16.13 app/view_models/thredded/posts_page_view.rb
thredded-0.16.12 app/view_models/thredded/posts_page_view.rb
thredded-0.16.11 app/view_models/thredded/posts_page_view.rb
thredded-0.16.10 app/view_models/thredded/posts_page_view.rb
thredded-0.16.9 app/view_models/thredded/posts_page_view.rb
thredded-0.16.8 app/view_models/thredded/posts_page_view.rb
thredded-0.16.7 app/view_models/thredded/posts_page_view.rb
thredded-0.16.6 app/view_models/thredded/posts_page_view.rb
thredded-0.16.5 app/view_models/thredded/posts_page_view.rb
thredded-0.16.4 app/view_models/thredded/posts_page_view.rb
thredded-0.16.3 app/view_models/thredded/posts_page_view.rb
thredded-0.16.1 app/view_models/thredded/posts_page_view.rb
thredded-0.16.0 app/view_models/thredded/posts_page_view.rb
thredded-0.15.5 app/view_models/thredded/posts_page_view.rb
thredded-0.15.4 app/view_models/thredded/posts_page_view.rb
thredded-0.15.3 app/view_models/thredded/posts_page_view.rb
thredded-0.15.2 app/view_models/thredded/posts_page_view.rb