Module: CoverRage::Config

Defined in:
lib/cover_rage/config.rb

Class Method Summary collapse

Class Method Details

.intervalObject



29
30
31
# File 'lib/cover_rage/config.rb', line 29

def self.interval
  @interval ||= ENV.fetch('COVER_RAGE_INTERVAL', '60').to_i
end

.path_prefixObject



6
7
8
# File 'lib/cover_rage/config.rb', line 6

def self.path_prefix
  @path_prefix ||= ENV.fetch('COVER_RAGE_PATH_PREFIX', defined?(Rails) && Rails.root ? Rails.root.to_s : Dir.pwd)
end

.storeObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/cover_rage/config.rb', line 10

def self.store
  @store ||= begin
    uri = URI.parse(ENV.fetch('COVER_RAGE_STORE_URL', "pstore:#{File.join(Dir.pwd, 'cover_rage.pstore')}"))
    case uri.scheme
    when 'redis', 'rediss'
      require 'cover_rage/stores/redis'
      CoverRage::Stores::Redis.new(uri.to_s)
    when 'sqlite'
      require 'cover_rage/stores/sqlite'
      CoverRage::Stores::Sqlite.new(uri.path)
    when 'pstore'
      require 'cover_rage/stores/pstore'
      CoverRage::Stores::Pstore.new(uri.path)
    else
      raise "Unsupported store: #{uri.scheme}"
    end
  end
end