Sha256: 6136d20d53db99559011781cb4eb0dfbcb2086b69acb065c5ed49d865ab7b643

Contents?: true

Size: 935 Bytes

Versions: 2

Compression:

Stored size: 935 Bytes

Contents

# frozen_string_literal: true

module Isolator
  # Isolator configuration:
  #
  # - `raise_exceptions` - whether to raise an exception in case of offense;
  #   defaults to true in test env and false otherwise.
  #   NOTE: env is infered from RACK_ENV and RAILS_ENV.
  #
  # - `logger` - logger instance (nil by default)
  #
  # - `send_notifications` - whether to send notifications (through uniform_notifier);
  #   defauls to false
  class Configuration
    attr_accessor :raise_exceptions, :logger, :send_notifications,
                  :backtrace_filter

    def initialize
      @logger = nil
      @raise_exceptions = test_env?
      @send_notifications = false
      @backtrace_filter = ->(backtrace) { backtrace.take(5) }
    end

    alias raise_exceptions? raise_exceptions
    alias send_notifications? send_notifications

    def test_env?
      ENV["RACK_ENV"] == "test" || ENV["RAILS_ENV"] == "test"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
isolator-0.6.1 lib/isolator/configuration.rb
isolator-0.6.0 lib/isolator/configuration.rb