Sha256: 134f78146a4c17d49c26c6f9fc6e1e948cd07faa3451e4fd05707c0efb41c8fd
Contents?: true
Size: 798 Bytes
Versions: 2
Compression:
Stored size: 798 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('_') _set_preserve_filter(options, &Preserve.filter(name, key)) end end def _set_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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
preserve-0.1.2 | lib/preserve.rb |
preserve-0.1.1 | lib/preserve.rb |