Class: CommentThread

Inherits:
ApplicationRecord show all
Includes:
PostRelated
Defined in:
app/models/comment_thread.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationRecord

#attributes_print, fuzzy_search, match_search, #match_search, sanitize_for_search, sanitize_name, sanitize_sql_in, useful_err_msg, with_lax_group_rules

Class Method Details

.post_followed?(post, user) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/comment_thread.rb', line 35

def self.post_followed?(post, user)
  ThreadFollower.where(post: post, user: user).any?
end

Instance Method Details

#can_access?(user) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
# File 'app/models/comment_thread.rb', line 30

def can_access?(user)
  (!deleted? || user&.privilege?('flag_curate') || user&.has_post_privilege?('flag_curate', post)) &&
    post.can_access?(user)
end

#followed_by?(user) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'app/models/comment_thread.rb', line 26

def followed_by?(user)
  ThreadFollower.where(comment_thread: self, user: user).any?
end

#locked?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'app/models/comment_thread.rb', line 22

def locked?
  locked && (locked_until.nil? || locked_until > DateTime.now)
end

#read_only?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/models/comment_thread.rb', line 18

def read_only?
  locked? || archived? || deleted?
end