Class: Talkie::CommentsRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/talkie/comments_renderer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view_context, commentable, options = {}) ⇒ CommentsRenderer

Returns a new instance of CommentsRenderer.



7
8
9
10
11
# File 'lib/talkie/comments_renderer.rb', line 7

def initialize(view_context, commentable, options = {})
  @view_context = view_context
  @commentable = commentable
  @options = options
end

Instance Attribute Details

#commentableObject (readonly)

Returns the value of attribute commentable.



5
6
7
# File 'lib/talkie/comments_renderer.rb', line 5

def commentable
  @commentable
end

Instance Method Details

#deletable?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/talkie/comments_renderer.rb', line 21

def deletable?
  @options[:deletable] || false
end

#display_user_avatar?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/talkie/comments_renderer.rb', line 25

def display_user_avatar?
  @options[:display_user_avatar].present?
end

#display_user_handler?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/talkie/comments_renderer.rb', line 29

def display_user_handler?
  @options[:display_user_handler] || false
end

#nested_enabled?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/talkie/comments_renderer.rb', line 17

def nested_enabled?
  @options[:nested] || false
end

#renderObject



13
14
15
# File 'lib/talkie/comments_renderer.rb', line 13

def render
  @view_context.render "talkie/comments/template"
end

#root_commentsObject



33
34
35
36
37
38
39
# File 'lib/talkie/comments_renderer.rb', line 33

def root_comments
  comments = @commentable.root_parents
  comments = comments.includes(:creator) if display_user_info?
  comments = comments.includes(:children) if nested_enabled?

  comments
end