Sha256: 9c8d7364296b7dbd0a9b2da99b8eebd1af0f9480bb57ce38db97ed1d051aefdf

Contents?: true

Size: 778 Bytes

Versions: 6

Compression:

Stored size: 778 Bytes

Contents

require 'routemaster/api_client'

module Materialist
  class << self
    def configuration
      @configuration ||= Configuration.new
    end

    def reset_configuration!
      @configuration = Configuration.new
    end

    def configure
      yield(self.configuration)
    end
  end

  class Configuration
    attr_accessor :topics, :sidekiq_options, :api_client, :metrics_client, :notice_error

    def initialize
      @topics = []
      @sidekiq_options = {}
      @api_client = Routemaster::APIClient.new(response_class: ::Routemaster::Responses::HateoasResponse)
      @metrics_client = NullMetricsClient
      @notice_error = nil
    end

    class NullMetricsClient
      def self.increment(_, tags:); end
      def self.histogram(_, _v, tags:); end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
materialist-3.8.2 lib/configuration.rb
materialist-3.8.1 lib/configuration.rb
materialist-3.8.0 lib/configuration.rb
materialist-3.7.0 lib/configuration.rb
materialist-3.6.0 lib/configuration.rb
materialist-3.5.0 lib/configuration.rb