Sha256: ba48c3bf20f53b111f50f104c8991a3362242c44495eaba69c2a2ed318194328

Contents?: true

Size: 1.26 KB

Versions: 8

Compression:

Stored size: 1.26 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 + " ui-corner-all") 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

8 entries across 8 versions & 1 rubygems

Version Path
compass-jquery-plugin-0.3.3.1 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.3.0 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.8 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.7 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.7.nil lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.6 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.5 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.4 lib/jquery/flash_messages.rb