Sha256: fc582f45580bbbb4186a149c86d691eb898d87a0d120a0b3db6bd6de0a44dddf

Contents?: true

Size: 1.27 KB

Versions: 15

Compression:

Stored size: 1.27 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

15 entries across 15 versions & 1 rubygems

Version Path
compass-jquery-plugin-0.3.2.3 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.2 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.1 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.0 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.2.pre.2 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.1.1 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.1.0 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.1.beta.3 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.1.beta.2 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.0 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.rc.1 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.26 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.25 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.24 lib/jquery/flash_messages.rb
compass-jquery-plugin-0.3.0.beta.22 lib/jquery/flash_messages.rb