Sha256: a36b0ec385164db63ee8d840bd81ed8690034fcde61e0878e2cf22112bd0b189
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
module PersistCampaign module Controller def self.included base base.send :include, InstanceMethods base.alias_method_chain :_compute_redirect_to_location, :persist_campaign_params end module InstanceMethods # Solution provided by ndp's save-the-campaign gem (http://github.com/ndp/save-the-campaign), # reproduced here under the MIT license if Gem::Version.new(Rails.version) >= Gem::Version.new('4.2.1') def _compute_redirect_to_location_with_persist_campaign_params(request, options = {}) url = _compute_redirect_to_location_without_persist_campaign_params(request, options) _add_persisted_keys_to(request, url) end else def _compute_redirect_to_location_with_persist_campaign_params(options = {}) url = _compute_redirect_to_location_without_persist_campaign_params(options) _add_persisted_keys_to(request, url) end end def _add_persisted_keys_to(request, url) keys = PersistCampaign.config.keys.map(&:to_s) to_persist = request.params.slice(*keys) unless to_persist.empty? url << (url =~ /\?/ ? '&' : '?') url << to_persist.to_param end url end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
persist_campaign-0.0.2 | lib/persist_campaign/controller.rb |