Sha256: 4d3d916985fb3cfd333bd2e0eea42e06569abd49195e51a4bcaa09f9a22820aa
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true require_relative 'patcher/authenticatable_patch' require_relative 'patcher/rememberable_patch' require_relative 'patcher/registration_controller_patch' module Datadog module AppSec module Contrib module Devise # Patcher for AppSec on Devise module Patcher module_function def patched? Patcher.instance_variable_get(:@patched) end def target_version Integration.version end def patch patch_authenticatable_strategy patch_rememberable_strategy patch_registration_controller Patcher.instance_variable_set(:@patched, true) end def patch_authenticatable_strategy ::Devise::Strategies::Authenticatable.prepend(AuthenticatablePatch) end def patch_rememberable_strategy return unless ::Devise::STRATEGIES.include?(:rememberable) # Rememberable strategy is required in autoloaded Rememberable model ::Devise::Models::Rememberable # rubocop:disable Lint/Void ::Devise::Strategies::Rememberable.prepend(RememberablePatch) end def patch_registration_controller ::ActiveSupport.on_load(:after_initialize) do ::Devise::RegistrationsController.prepend(RegistrationControllerPatch) end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datadog-2.12.1 | lib/datadog/appsec/contrib/devise/patcher.rb |
datadog-2.12.0 | lib/datadog/appsec/contrib/devise/patcher.rb |
datadog-2.11.0 | lib/datadog/appsec/contrib/devise/patcher.rb |