Class: CleanArchitecture::Entities::UseCaseHistoryEntry

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

Instance Method Summary collapse

Constructor Details

#initialize(use_case_class, use_case_parameters, use_case_result, use_case_target) ⇒ UseCaseHistoryEntry

Returns a new instance of UseCaseHistoryEntry.



14
15
16
17
18
19
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 14

def initialize(use_case_class, use_case_parameters, use_case_result, use_case_target)
  @use_case_class = use_case_class
  @use_case_parameters = use_case_parameters
  @use_case_result = use_case_result
  @use_case_target = use_case_target
end

Instance Method Details

#extra_parameters_hashObject



21
22
23
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 21

def extra_parameters_hash
  @use_case_parameters.extra_parameters_hash
end

#failure_messagesObject



25
26
27
28
29
30
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 25

def failure_messages
  Dry::Matcher::ResultMatcher.call(@use_case_result) do |matcher|
    matcher.success { nil }
    matcher.failure { |value| value }
  end
end

#prior_target_stateObject



32
33
34
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 32

def prior_target_state
  @use_case_target.attribute_hash
end

#succeeded?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 36

def succeeded?
  @use_case_result.success?
end

#target_identifierObject



40
41
42
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 40

def target_identifier
  @use_case_target.identifier
end

#use_case_class_nameObject



44
45
46
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 44

def use_case_class_name
  @use_case_class.name
end

#user_identifierObject



48
49
50
# File 'lib/clean_architecture/entities/use_case_history_entry.rb', line 48

def user_identifier
  @use_case_parameters.actor.user_identifier
end