Sha256: b29f95427590cfbd85bb972881361ba071ba8837066235f923844fe405a81053
Contents?: true
Size: 1.51 KB
Versions: 1
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true require 'devise' require 'devise/acquirable/version' Devise.add_module :acquirable, model: 'devise/acquirable/model', controller: :registrations module Devise module Acquirable module Controller extend ActiveSupport::Concern included do before_action :set_tracking_cookies end def set_tracking_cookies cookies[:referring_url] = { value: request.env['HTTP_REFERER'], expires: 90.days.from_now } if cookies[:referring_url].blank? cookies[:landing_url] = { value: request.url, expires: 90.days.from_now } if cookies[:landing_url].blank? end end module RegistrationsController extend ActiveSupport::Concern included do alias_method :devise_build_resource, :build_resource def build_resource(hash = nil) custom_build_resource(hash) end end def custom_build_resource(hash = nil) devise_build_resource(hash) set_marketing_attributes if devise_mapping.acquirable? resource end def set_marketing_attributes resource.referring_url = cookies[:referring_url] resource.landing_url = cookies[:landing_url] end end class Engine < ::Rails::Engine ActiveSupport.on_load(:action_controller) do include Devise::Acquirable::Controller end config.to_prepare do Devise::RegistrationsController.include Devise::Acquirable::RegistrationsController end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
devise-acquirable-0.1.1 | lib/devise/acquirable.rb |