Sha256: 6b785220564e8b6387c538e156dbcbe7c2325ff755a5c29077797ed1b8a54948

Contents?: true

Size: 770 Bytes

Versions: 4

Compression:

Stored size: 770 Bytes

Contents

module Umbra
  class Config
    attr_accessor :publisher, :request_selector, :encoder, :error_handler, :redis_options, :logger

    def self.default(&block)
      new(
        publisher: Publisher,
        request_selector: RequestSelector,
        encoder: Encoder,
        error_handler: SuppressErrorHandler,
        redis_options: {},
        logger: Logger.new(STDOUT),
        &block
      )
    end

    private

    def initialize(opts)
      @publisher = opts.fetch(:publisher)
      @request_selector = opts.fetch(:request_selector)
      @encoder = opts.fetch(:encoder)
      @error_handler = opts.fetch(:error_handler)
      @redis_options = opts.fetch(:redis_options)
      @logger = opts.fetch(:logger)

      yield(self) if block_given?
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
umbra-rb-0.2.0 lib/umbra/config.rb
umbra-rb-0.1.5.pre lib/umbra/config.rb
umbra-rb-0.1.4.pre lib/umbra/config.rb
umbra-rb-0.1.3.pre lib/umbra/config.rb