Module: Railsstrap::BootstrapFlashHelper

Defined in:
app/helpers/railsstrap/bootstrap_flash_helper.rb

Constant Summary collapse

ALERT_TYPES =
[:success, :info, :warning, :danger]

Instance Method Summary collapse

Instance Method Details

#bootstrap_flash(options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/helpers/railsstrap/bootstrap_flash_helper.rb', line 5

def bootstrap_flash(options = {})

  flash_messages = []
  close_button = (:button, raw('×'), :type => 'button', :class => 'close', 'data-dismiss' => 'alert')

  flash.each do |type, message|
    default_opts = {
        show_close: true,
        type: :info,
        container_tag: :div,
        animation: 'fade in'
    }
    opts = default_opts.merge(options)

    # Skip empty messages, e.g. for devise messages set to nothing in a locale file.
    next if message.blank?

    type = type.to_sym
    type = :success if type == :notice
    type = :danger  if type == :alert
    type = :danger  if type == :error
    next unless ALERT_TYPES.include?(type)

    Array(message).each do |msg|

      text = (opts[:container_tag],
                         (opts[:show_close] ? close_button : '') +
                         msg, :class => "alert #{opts[:animation]} alert-#{type} #{opts[:class]}")
      flash_messages << text if msg
    end
  end
  flash_messages.join("\n").html_safe
end