module StashableParams

Constants

VERSION

Public Instance Methods

filter_params(hash, filter) click to toggle source
# File lib/stashable_params.rb, line 12
def filter_params(hash, filter)
  filtered_hash = hash
  filtered_hash.each do |k, v|
    if filter.include?(k) || filter.include?(k.to_sym)
      filtered_hash.delete(k)
    else
      filter_params(v, filter) if v.is_a?(Hash)
    end
  end
  filtered_hash
end
params_filter() click to toggle source
# File lib/stashable_params.rb, line 24
def params_filter
  [:password, :password_confirmation, :action, :controller]
end
stash_params() click to toggle source
# File lib/stashable_params.rb, line 4
def stash_params
  session[:stashed_params] = filter_params(params, params_filter)
end
unstash_params() click to toggle source
# File lib/stashable_params.rb, line 8
def unstash_params
  params.merge!(session.delete(:stashed_params)) if session[:stashed_params]
end