lib/speed_gun/config.rb in speed_gun-1.0.0.rc1 vs lib/speed_gun/config.rb in speed_gun-2.0.0.pre.alpha.1
- old
+ new
@@ -1,50 +1,43 @@
-require 'hashie'
+# frozen_string_literal: true
+require 'logger'
require 'speed_gun'
require 'speed_gun/store/memory_store'
-class SpeedGun::Config < Hashie::Dash
- # @!attribute [rw]
- # @return [Boolean] true if enabled speed gun
- property :enable, default: true
+class SpeedGun::Config
+ DEFAULT_PREFIX = '/speed_gun'
- # @!attribute [rw]
- # @return [Object, nil] logger of the speed gun
- property :logger, default: nil
+ # @return [Boolean] Enabled SpeedGun
+ attr_accessor :enabled
+ attr_accessor :webapp
- # @!attribute [rw]
- # @return [Array<Regexp>] paths of skip the speed gun
- property :skip_paths, default: []
+ attr_accessor :store
- # @!attribute [rw]
- # @return [SpeedGun::Store] store of events and profiles
- property :store, default: SpeedGun::Store::MemoryStore.new
+ # @return [String] Console and API endpoint prefix
+ attr_accessor :prefix
- # @!attribute [rw]
- # @return [Boolean] true if enable auto injection
- property :auto_inject, default: true
+ attr_accessor :logger
- # @return [true]
- def enable!
- self[:enable] = true
- end
+ attr_accessor :skip_paths
+ attr_accessor :lineprof_paths
+ attr_accessor :ignored_profilers
- # @return [false]
- def disable!
- self[:enable] = false
+ def initialize
+ @enabled = true
+ @webapp = true
+ @store = SpeedGun::Store::MemoryStore.new
+ @prefix = DEFAULT_PREFIX
+ @logger = ::Logger.new(STDOUT)
+ @skip_paths = ['/favicon.ico']
+ @lineprof_paths = []
+ @ignored_profilers = []
end
- # @return [Boolean] true if enabled speed gun
+ # @return [Boolean] Enabled SpeedGun
def enabled?
- !!enable
+ enabled
end
- # @return [Boolean] true if disabled speed gun
def disabled?
!enabled?
- end
-
- # @return [Boolean] true if enable auto injection
- def auto_inject?
- auto_inject
end
end