module Denshobato::ViewMessagingHelper

Public Instance Methods

interlocutor_avatar(user, image_column, conversation, css_class) click to toggle source

OPTIMIZE: Metaprogram interlocutors methods.

# File lib/denshobato/helpers/view_messaging_helper.rb, line 5
def interlocutor_avatar(user, image_column, conversation, css_class)
  sender    = conversation.sender
  recipient = conversation.recipient

  return show_image(sender,    image_column, css_class)  if user == sender
  return show_image(recipient, image_column, css_class)  if user == recipient
end
interlocutor_image(user, column, css_class) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 32
def interlocutor_image(user, column, css_class)
  show_image(user, column, css_class)
end
interlocutor_info(klass, *fields) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 28
def interlocutor_info(klass, *fields)
  show_filter(klass, fields)
end
interlocutor_name(user, conversation, *fields) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 13
def interlocutor_name(user, conversation, *fields)
  sender    = conversation.sender
  recipient = conversation.recipient

  return show_filter(sender, fields)    if fields.any? && user == sender
  return show_filter(recipient, fields) if fields.any? && user == recipient
end
message_from(message, *fields) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 21
def message_from(message, *fields)
  # Show information about message creator

  return unless message
  show_filter(message.author, fields)
end

Private Instance Methods

show_filter(klass, fields) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 44
def show_filter(klass, fields)
  # Adds fields to View
  # h3 = "Conversation with: #{interlocutor_name(user, conversation, :first_name, :last_name)}"
  # => Conversation with John Doe

  fields.each_with_object([]) { |field, array| array << klass.send(:try, field) }.join(' ').strip
end
show_image(user, image, css_class) click to toggle source
# File lib/denshobato/helpers/view_messaging_helper.rb, line 38
def show_image(user, image, css_class)
  # Show image_tag with user avatar and css class

  image_tag(user.try(image) || '', class: css_class)
end