class FlashRailsMessages::Base
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/flash_rails_messages/base.rb, line 8 def initialize(options = {}) @options = options end
Public Instance Methods
render(flash)
click to toggle source
# File lib/flash_rails_messages/base.rb, line 12 def render(flash) flash = Hash[flash].symbolize_keys flash.map { |message| alert_element(*message) }.join.html_safe end
Private Instance Methods
alert_classes(type)
click to toggle source
# File lib/flash_rails_messages/base.rb, line 40 def alert_classes(type) [ default_alert_classes, alert_type_classes[type], custom_alert_classes, options[:class] ].compact.join(' ').strip end
alert_element(type, message)
click to toggle source
# File lib/flash_rails_messages/base.rb, line 19 def alert_element(type, message) content_tag :div, alert_options(type) do content = ActiveSupport::SafeBuffer.new content += close_element if options.fetch(:dismissible, false) content += message.html_safe content end end
alert_options(type)
click to toggle source
# File lib/flash_rails_messages/base.rb, line 34 def alert_options(type) default_alert_options .merge(options.except(:dismissible)) .merge(class: alert_classes(type)) end
alert_type_classes()
click to toggle source
# File lib/flash_rails_messages/base.rb, line 57 def alert_type_classes {} end
close_element()
click to toggle source
# File lib/flash_rails_messages/base.rb, line 28 def close_element content_tag :a, class: 'close', href: '#' do '×'.html_safe end end
custom_alert_classes()
click to toggle source
# File lib/flash_rails_messages/base.rb, line 61 def custom_alert_classes end
default_alert_classes()
click to toggle source
# File lib/flash_rails_messages/base.rb, line 53 def default_alert_classes 'alert' end
default_alert_options()
click to toggle source
# File lib/flash_rails_messages/base.rb, line 49 def default_alert_options {} end