Sha256: dd623dbc05370c497aa8ec6e2b0d0d0339b0664050c8f0986d584431ff7a1a42
Contents?: true
Size: 1.02 KB
Versions: 25
Compression:
Stored size: 1.02 KB
Contents
module ActionController #:nodoc: module Flash extend ActiveSupport::Concern included do class_attribute :_flash_types, instance_accessor: false self._flash_types = [] delegate :flash, to: :request add_flash_types(:alert, :notice) end module ClassMethods def add_flash_types(*types) types.each do |type| next if _flash_types.include?(type) define_method(type) do request.flash[type] end helper_method type self._flash_types += [type] end end end protected def redirect_to(options = {}, response_status_and_flash = {}) #:doc: self.class._flash_types.each do |flash_type| if type = response_status_and_flash.delete(flash_type) flash[flash_type] = type end end if other_flashes = response_status_and_flash.delete(:flash) flash.update(other_flashes) end super(options, response_status_and_flash) end end end
Version data entries
25 entries across 25 versions & 1 rubygems