Sha256: fa93dbe3194b49f9a2387894803c4dfb4202074dab6b3c33fe4b64ae403a2824
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
require 'json' module CacheableFlash if defined?(Rails) && ::Rails::VERSION::MAJOR == 3 if ::Rails::VERSION::MINOR >= 1 require "cacheable_flash/engine" require 'cacheable_flash/railtie' elsif ::Rails::VERSION::MINOR == 0 require 'cacheable_flash/railtie' end else # For older rails use generator end def self.included(base) #base must define around_filter, as in Rails base.around_filter :write_flash_to_cookie end def write_flash_to_cookie yield if block_given? cookie_flash = if cookies['flash'] begin JSON(cookies['flash']) rescue {} end else {} end flash.each do |key, value| if cookie_flash[key.to_s].blank? cookie_flash[key.to_s] = value.kind_of?(Numeric) ? value.to_s : value else cookie_flash[key.to_s] << "<br/>#{value}" end end # Base must define cookies, as in Rails cookies['flash'] = cookie_flash.to_json.gsub("+", "%2B") # Base must define flash, as in Rails # TODO: Does not support flash.now feature of the FlashHash in Rails, # because flashes are only removed from cookies when they are used. flash.clear end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cacheable_flash-0.2.7 | lib/cacheable_flash.rb |