Sha256: e887d1e25d1f6738d9a34533d89c18a16db7b66ab23f1ea5fc69e3f02d7087d8
Contents?: true
Size: 906 Bytes
Versions: 10
Compression:
Stored size: 906 Bytes
Contents
# frozen_string_literal: true module Mihari module Enrichers # # Base class for enrichers # class Base < Actor prepend MemoWise def initialize(options: nil) super(options: options) end # # @param [String] value # def call(value) raise NotImplementedError, "You must implement #{self.class}##{__method__}" end # # @return [Dry::Monads::Result::Success<Object>, Dry::Monads::Result::Failure] # def result(value) Try[StandardError] do retry_on_error( times: retry_times, interval: retry_interval, exponential_backoff: retry_exponential_backoff ) { call value } end.to_result end class << self def inherited(child) super Mihari.enrichers << child end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems