Sha256: 48802cea96aeab1570f3d89a7be47da9b1ae48a3e3dc90649263125c79a07280
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
# frozen_string_literal: true require_relative '../tracking' require_relative '../resource' require_relative '../event' module Datadog module AppSec module Contrib module Devise module Patcher # Hook in devise registration controller module RegistrationControllerPatch def create return super unless AppSec.enabled? track_user_events_configuration = Datadog.configuration.appsec.track_user_events return super unless track_user_events_configuration.enabled automated_track_user_events_mode = track_user_events_configuration.mode appsec_context = Datadog::AppSec.active_context return super unless appsec_context super do |resource| if resource.persisted? devise_resource = Resource.new(resource) event_information = Event.new(devise_resource, automated_track_user_events_mode) if event_information.user_id Datadog.logger.debug { 'User Signup Event' } else Datadog.logger.warn { 'User Signup Event, but can\'t extract user ID. Tracking empty event' } end Tracking.track_signup( appsec_context.trace, appsec_context.span, user_id: event_information.user_id, **event_information.to_h ) end yield resource if block_given? end end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
datadog-2.10.0 | lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb |
datadog-2.9.0 | lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb |