Class: CleanArchitecture::Strategies::WithAuditTrail

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

Instance Method Summary collapse

Constructor Details

#initialize(use_case_class, sub_strategy, use_case_target) ⇒ WithAuditTrail

Returns a new instance of WithAuditTrail.



11
12
13
14
15
# File 'lib/clean_architecture/strategies/with_audit_trail.rb', line 11

def initialize(use_case_class, sub_strategy, use_case_target)
  @use_case_class = use_case_class
  @sub_strategy = sub_strategy
  @use_case_target = use_case_target
end

Instance Method Details

#resultObject



17
18
19
20
21
22
23
24
# File 'lib/clean_architecture/strategies/with_audit_trail.rb', line 17

def result
  @result ||= begin
    strategy_result = @sub_strategy.result
    entry = new_use_case_history_entry(strategy_result)
    parameters.persistence.create_use_case_history_entry(entry)
    strategy_result
  end
end