Class: Decidim::DirectVerifications::AuthorizeUser

Inherits:
Object
  • Object
show all
Defined in:
lib/decidim/direct_verifications/authorize_user.rb

Instance Method Summary collapse

Constructor Details

#initialize(email, data, session, organization, instrumenter, authorization_handler) ⇒ AuthorizeUser

rubocop:disable Metrics/ParameterLists



7
8
9
10
11
12
13
14
# File 'lib/decidim/direct_verifications/authorize_user.rb', line 7

def initialize(email, data, session, organization, instrumenter, authorization_handler)
  @email = email
  @data = data
  @session = session
  @organization = organization
  @instrumenter = instrumenter
  @authorization_handler = authorization_handler
end

Instance Method Details

#callObject

rubocop:enable Metrics/ParameterLists



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/decidim/direct_verifications/authorize_user.rb', line 17

def call
  unless user
    instrumenter.add_error :authorized, email
    return
  end

  return unless valid_authorization?

  Verification::ConfirmUserAuthorization.call(authorization, form, session) do
    on(:ok) do
      instrumenter.add_processed :authorized, email
    end
    on(:invalid) do
      instrumenter.add_error :authorized, email
    end
  end
end