Module: Denshobato::ViewHelper

Includes:
HelperUtils, ViewMessagingHelper
Defined in:
lib/denshobato/helpers/view_helper.rb

Instance Method Summary collapse

Methods included from ViewMessagingHelper

#interlocutor_avatar, #interlocutor_image, #interlocutor_info, #interlocutor_name, #message_from

Instance Method Details

#can_create_conversation?(sender, recipient) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
# File 'lib/denshobato/helpers/view_helper.rb', line 12

def can_create_conversation?(sender, recipient)
  # If current sender is current recipient, return false

  sender == recipient ? false : true
end

#conversation_exists?(sender, recipient) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
9
10
# File 'lib/denshobato/helpers/view_helper.rb', line 6

def conversation_exists?(sender, recipient)
  # Check if sender and recipient already have conversation together.

  hato_conversation.find_by(sender: sender, recipient: recipient)
end

#devise_url_helper(action, user, controller) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/denshobato/helpers/view_helper.rb', line 22

def devise_url_helper(action, user, controller)
  # Polymorphic devise urls
  # E.g, you have two models, seller and customer
  # You can create helper (like current_account)
  # Use this method for url's

  # devise_url_helper(:edit, current_account, :registration)
  # => :edit_seller_registration, or :edit_customer_registration

  "#{action}_#{user.class.name.downcase}_#{controller}".to_sym
end

#fill_conversation_form(form, recipient) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/denshobato/helpers/view_helper.rb', line 34

def fill_conversation_form(form, recipient)
  # = form_for @conversation do |form|
  ### = fill_conversation_form(form, @conversation)
  ### = f.submit 'Start Chating', class: 'btn btn-primary'

  recipient_id   = form.hidden_field :recipient_id,   value: recipient.id
  recipient_type = form.hidden_field :recipient_type, value: recipient.class.name

  recipient_id + recipient_type
end

#fill_message_form(form, user, room_id) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/denshobato/helpers/view_helper.rb', line 45

def fill_message_form(form, user, room_id)
  # @message = current_user.build_conversation_message(@conversation)
  # = form_for [@conversation, @message] do |form|
  ### = form.text_field :body
  ### = fill_message_form(form, @message)
  ### = form.submit

  room_id = room_id.id if room_id.is_a?(ActiveRecord::Base)

  sender_id       = form.hidden_field :sender_id,       value: user.id
  sender_class    = form.hidden_field :sender_type,     value: user.class.name
  conversation_id = form.hidden_field :conversation_id, value: room_id

  sender_id + sender_class + conversation_id
end

#user_in_black_list?(blocker, blocked) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/denshobato/helpers/view_helper.rb', line 18

def user_in_black_list?(blocker, blocked)
  hato_blacklist.where(blocker: blocker, blocked: blocked).present?
end