Module: BroadcastMessagesHelper

Included in:
Admin::BroadcastMessagesController
Defined in:
app/helpers/broadcast_messages_helper.rb

Instance Method Summary collapse

Instance Method Details

#broadcast_message(message, opts = {}) ⇒ Object


17
18
19
20
21
# File 'app/helpers/broadcast_messages_helper.rb', line 17

def broadcast_message(message, opts = {})
  return unless message.present?

  render "shared/broadcast_message", { message: message, opts: opts }
end

#broadcast_message_status(broadcast_message) ⇒ Object


39
40
41
42
43
44
45
46
47
# File 'app/helpers/broadcast_messages_helper.rb', line 39

def broadcast_message_status(broadcast_message)
  if broadcast_message.active?
    'Active'
  elsif broadcast_message.ended?
    'Expired'
  else
    'Pending'
  end
end

#broadcast_message_style(broadcast_message) ⇒ Object


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/helpers/broadcast_messages_helper.rb', line 23

def broadcast_message_style(broadcast_message)
  return '' if broadcast_message.notification?

  style = []

  if broadcast_message.color.present?
    style << "background-color: #{broadcast_message.color}"
  end

  if broadcast_message.font.present?
    style << "color: #{broadcast_message.font}"
  end

  style.join('; ')
end

#broadcast_type_optionsObject


61
62
63
# File 'app/helpers/broadcast_messages_helper.rb', line 61

def broadcast_type_options
  BroadcastMessage.broadcast_types.keys.map { |w| [w.humanize, w] }
end

#current_broadcast_banner_messagesObject


4
5
6
7
8
# File 'app/helpers/broadcast_messages_helper.rb', line 4

def current_broadcast_banner_messages
  BroadcastMessage.current_banner_messages(request.path).select do |message|
    cookies["hide_broadcast_message_#{message.id}"].blank?
  end
end

#current_broadcast_notification_messageObject


10
11
12
13
14
15
# File 'app/helpers/broadcast_messages_helper.rb', line 10

def current_broadcast_notification_message
  not_hidden_messages = BroadcastMessage.current_notification_messages(request.path).select do |message|
    cookies["hide_broadcast_message_#{message.id}"].blank?
  end
  not_hidden_messages.last
end

#render_broadcast_message(broadcast_message) ⇒ Object


49
50
51
52
53
54
55
56
57
58
59
# File 'app/helpers/broadcast_messages_helper.rb', line 49

def render_broadcast_message(broadcast_message)
  if broadcast_message.notification?
    Banzai.render_field_and_post_process(broadcast_message, :message, {
      current_user: current_user,
      skip_project_check: true,
      broadcast_message_placeholders: true
    }).html_safe
  else
    Banzai.render_field(broadcast_message, :message).html_safe
  end
end