Sha256: 8c6f8e1fe8015045acb61b47c15de4c496dea04b9f94827b7514bf8abba61140
Contents?: true
Size: 1.19 KB
Versions: 6
Compression:
Stored size: 1.19 KB
Contents
module FlashMessages module ControllerMethods TYPES = [:success, :notice, :warning, :error] TYPES.each do |type| define_method(type) do |msg| flash[type] = msg end define_method("#{type}_now") do |msg| flash.now[type] = msg end end end module Display # def flash_messages # returning html = String.new do # flash.each do |css_class, message| # html << content_tag(:div, content_tag(:div, nil, :class => :icon) + message, :class => css_class) # end # end # end FLASH_NOTICE_KEYS = [:error, :warning, :notice, :success] def flash_messages return unless messages = flash.keys.select{|k| FLASH_NOTICE_KEYS.include?(k)} formatted_messages = messages.map do |type| content_tag(:div, nil, :class => type.to_s) do message_for_item(flash[type], flash["#{type}_item".to_sym]) end end formatted_messages.join end def message_for_item(message, item = nil) if item.is_a?(Array) content_tag(:div, nil, :class => :icon) + message % link_to(*item) else content_tag(:div, nil, :class => :icon) + message % item end end end end
Version data entries
6 entries across 6 versions & 1 rubygems