Method: Mihari::Enrichers::Base#result

Defined in:
lib/mihari/enrichers/base.rb

#result(value) ⇒ Dry::Monads::Result::Success<Object>, Dry::Monads::Result::Failure

Parameters:

Returns:

  • (Dry::Monads::Result::Success<Object>, Dry::Monads::Result::Failure)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mihari/enrichers/base.rb', line 27

def result(value)
  result = Try[StandardError] do
    retry_on_error(
      times: retry_times,
      interval: retry_interval,
      exponential_backoff: retry_exponential_backoff
    ) { call value }
  end.to_result

  if result.failure?
    Mihari.logger.warn("Enricher:#{self.class.key} for #{value.truncate(32)} failed: #{result.failure}")
  end

  result
end