Sha256: 7eb99398c3249c8228c0d6fac98814814168914336d7b263e71f3c28936f8e58

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

module HelperMethods

  def error_messages_for(resource:, style: 'danger')
    if resource.errors.any?
      content_tag :div, class: "alert alert-#{styles[style]} alert-dismissible" do
        content_tag :ol do
          resource.errors.collect do |key, value|
            content_tag :li, value
          end.join.html_safe
        end
      end
    end
  end

  def flash_messages
    flash.collect do |key, value|
      content_tag :div, class: "alert alert-#{styles[key]} alert-dismissable", role: "alert" do
        [close_button, value].join.html_safe
      end unless [true, false, nil].include?(value)
    end.join.html_safe
  end

  def close_button
    content_tag :button, type: 'button', class: 'close', data: { dismiss: 'alert' } do
      content_tag(:span, '×', aria: { hidden: 'true' }) + content_tag(:span, 'Close', class: 'sr-only')
    end
  end

  def styles
    {
      'notice' => 'success',
      'alert' => 'warning',
      'success' => 'success',
      'info' => 'info',
      'warning' => 'warning',
      'danger' => 'danger'
    }
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
helper_methods-1.0.0.rc2 lib/helper_methods/flash_messages.rb