Sha256: 3f913f756a94ccbdebc4ce4523b33c7c91a87efca413bbb11b3488cc67494f3a
Contents?: true
Size: 790 Bytes
Versions: 1
Compression:
Stored size: 790 Bytes
Contents
require 'active_support' module Preserve def self.filter(name, key) lambda do if params[name].blank? value = session[key.to_sym] params[name] = value if value.present? else session[key.to_sym] = params[name] end end end def preserve(*parameters) options = parameters.extract_options! prefix = options.delete(:prefix) parameters.each do |name| key = [prefix, controller_name, name].compact.join('_') _preserve_filter(options, &Preserve.filter(name, key)) end end def _preserve_filter(*args, &block) if respond_to?(:before_action) before_action(*args, &block) else before_filter(*args, &block) end end end ActiveSupport.on_load(:action_controller) do extend Preserve end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
preserve-0.1.0 | lib/preserve.rb |