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

Version Path
compass-jquery-plugin-0.3.0.beta.21 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.20 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.19 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.18 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.17 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.16 lib/jquery/flash_messages.rb