Sha256: 707d8b9728c4ddb097d69b1c41667bb8a211b79ca9dbcbdc6c3d1c00c3d7760d

Contents?: true

Size: 681 Bytes

Versions: 5

Compression:

Stored size: 681 Bytes

Contents

# frozen_string_literal: true
module Thredded
  # A view model for PrivateTopic.
  class PrivateTopicView < Thredded::BaseTopicView
    delegate :users, to: :@topic

    def edit_path
      Thredded::UrlsHelper.edit_private_topic_path(@topic)
    end

    def self.from_user(topic, user)
      read_state = if user && !user.thredded_anonymous?
                     UserPrivateTopicReadState
                       .find_by(user_id: user.id, postable_id: topic.id)
                   end
      new(topic, read_state, Pundit.policy!(user, topic))
    end

    def new_post_preview_path
      Thredded::UrlsHelper.preview_new_private_topic_private_post_path(@topic)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
thredded-0.11.1 app/view_models/thredded/private_topic_view.rb
thredded-0.11.0 app/view_models/thredded/private_topic_view.rb
thredded-0.10.1 app/view_models/thredded/private_topic_view.rb
thredded-0.10.0 app/view_models/thredded/private_topic_view.rb
thredded-0.9.4 app/view_models/thredded/private_topic_view.rb