class Decidim::DirectVerifications::RevokeUser

Attributes

authorization_handler[R]
email[R]
instrumenter[R]
organization[R]

Public Class Methods

new(email, organization, instrumenter, authorization_handler) click to toggle source
# File lib/decidim/direct_verifications/revoke_user.rb, line 6
def initialize(email, organization, instrumenter, authorization_handler)
  @email = email
  @organization = organization
  @instrumenter = instrumenter
  @authorization_handler = authorization_handler
end

Public Instance Methods

call() click to toggle source
# File lib/decidim/direct_verifications/revoke_user.rb, line 13
def call
  unless user
    instrumenter.add_error :revoked, email
    return
  end

  return unless valid_authorization?

  Verification::DestroyUserAuthorization.call(authorization) do
    on(:ok) do
      instrumenter.add_processed :revoked, email
    end
  end
end

Private Instance Methods

authorization() click to toggle source
# File lib/decidim/direct_verifications/revoke_user.rb, line 36
def authorization
  @authorization ||= Authorization.find_by(user: user, name: authorization_handler)
end
user() click to toggle source
# File lib/decidim/direct_verifications/revoke_user.rb, line 32
def user
  @user ||= User.find_by(email: email, decidim_organization_id: organization.id)
end
valid_authorization?() click to toggle source
# File lib/decidim/direct_verifications/revoke_user.rb, line 40
def valid_authorization?
  authorization&.granted?
end