Sha256: f9bdc035338dcfd950c65e0b1fe01887f8d2d4ae7f82e09dd524939d8f9601a5

Contents?: true

Size: 451 Bytes

Versions: 11

Compression:

Stored size: 451 Bytes

Contents

# frozen_string_literal: true

module PubSubModelSync
  class Base
    delegate :config, :log, to: self

    class << self
      def config
        PubSubModelSync::Config
      end

      def log(message, kind = :info)
        config.log message, kind
      end
    end

    def retry_error(error_klass, qty: 2, &block)
      @retries ||= 0
      block.call
    rescue error_klass => _e
      (@retries += 1) <= qty ? retry : raise
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pub_sub_model_sync-0.5.9.1 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.9 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.8.2 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.8.1 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.8 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.7.1 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.7 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.6 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.5 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.4.1 lib/pub_sub_model_sync/base.rb
pub_sub_model_sync-0.5.4 lib/pub_sub_model_sync/base.rb