module Flame::Flash
Module for Flame::Flash
extension with helper methods and base class
Public Instance Methods
execute(method)
click to toggle source
After hook
Calls superclass method
# File lib/flame/flash.rb, line 7 def execute(method) super record_flashes end
halt(*args)
click to toggle source
Capture halt method
Calls superclass method
# File lib/flame/flash.rb, line 28 def halt(*args) record_flashes super end
redirect(*args)
click to toggle source
Upgrade redirect method @example Redirect to show method of Articles controller with error
redirect ArticlesController, :show, id: 2, error: 'Access required'
Calls superclass method
# File lib/flame/flash.rb, line 15 def redirect(*args) if args.last.is_a? Hash if args[0].is_a? String flashes = args.pop else args[-1], flashes = extract_flashes(args) end flash.merge(flashes) end super end
Private Instance Methods
extract_flashes(args)
click to toggle source
Split Hash-argument to parameters and flashes
# File lib/flame/flash.rb, line 45 def extract_flashes(args) add_controller_class(args) parameters = args[0].instance_method(args[1]).parameters.map(&:last) args.last.partition do |key, _value| parameters.include?(key) || key == :params end.map(&:to_h) end
flash(key = nil)
click to toggle source
Main helper method
# File lib/flame/flash.rb, line 36 def flash(key = nil) ( @flash ||= FlashArray.new( (session ? session[:flash] : []) ) ).scope(key) end
record_flashes()
click to toggle source
Move flash.next to session
# File lib/flame/flash.rb, line 54 def record_flashes session[:flash] = flash.next end