Class: CleanArchitecture::Strategies::ActorGetsAuthorizedThenDoesWork

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/clean_architecture/strategies/actor_gets_authorized_then_does_work.rb

Instance Method Summary collapse

Constructor Details

#initialize(authorization_check, sub_strategy) ⇒ ActorGetsAuthorizedThenDoesWork

Returns a new instance of ActorGetsAuthorizedThenDoesWork.



13
14
15
16
# File 'lib/clean_architecture/strategies/actor_gets_authorized_then_does_work.rb', line 13

def initialize(authorization_check, sub_strategy)
  @authorization_check = authorization_check
  @sub_strategy = sub_strategy
end

Instance Method Details

#resultObject



20
21
22
23
24
25
26
27
28
# File 'lib/clean_architecture/strategies/actor_gets_authorized_then_does_work.rb', line 20

def result
  @result ||= begin
    if @authorization_check.authorized?
      @sub_strategy.result
    else
      Dry::Monads::Failure('Unauthorized')
    end
  end
end