class Decidim::DirectVerifications::Instrumenter
Attributes
current_user[R]
errors[R]
processed[R]
Public Class Methods
new(current_user)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 6 def initialize(current_user) @current_user = current_user @errors = { registered: Set.new, authorized: Set.new, revoked: Set.new } @processed = { registered: Set.new, authorized: Set.new, revoked: Set.new } end
Public Instance Methods
add_error(type, email)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 16 def add_error(type, email) @errors[type] << email end
add_processed(type, email)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 12 def add_processed(type, email) @processed[type] << email end
emails_count(key)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 28 def emails_count(key) @processed[key].size + @errors[key].size end
errors_count(key)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 24 def errors_count(key) errors[key].size end
processed_count(key)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 20 def processed_count(key) processed[key].size end
track(event, email, user = nil)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 32 def track(event, email, user = nil) if user add_processed event, email log_action user else add_error event, email end end
Private Instance Methods
log_action(user)
click to toggle source
# File lib/decidim/direct_verifications/instrumenter.rb, line 45 def log_action(user) Decidim.traceability.perform_action!( "invite", user, current_user, extra: { invited_user_role: "participant", invited_user_id: user.id } ) end