Sha256: ac35b1a6e6a21fe252a3702a0c241770e8c21f0f4515a52dd93d185d449af564

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module RailsMiniProfiler
  class Configuration
    attr_reader :logger

    attr_accessor :enabled,
                  :badge_enabled,
                  :badge_position,
                  :flamegraph_enabled,
                  :flamegraph_sample_rate,
                  :skip_paths,
                  :storage,
                  :user_provider

    def initialize(**kwargs)
      reset
      kwargs.each { |key, value| instance_variable_set("@#{key}", value) }
    end

    def reset
      @enabled = proc { |_env| Rails.env.development? || Rails.env.test? }
      @badge_enabled = true
      @badge_position = 'top-left'
      @flamegraph_enabled = true
      @flamegraph_sample_rate = 0.5
      @logger = RailsMiniProfiler::Logger.new(Rails.logger)
      @skip_paths = []
      @storage = Storage.new
      @user_provider = proc { |env| Rack::Request.new(env).ip }
    end

    def logger=(logger)
      if logger.nil?
        @logger.level = Logger::FATAL
      else
        @logger = logger
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails_mini_profiler-0.1.3 lib/rails_mini_profiler/configuration.rb
rails_mini_profiler-0.1.2 lib/rails_mini_profiler/configuration.rb
rails_mini_profiler-0.1.1 lib/rails_mini_profiler/configuration.rb
rails_mini_profiler-0.1.0 lib/rails_mini_profiler/configuration.rb