Module: DeepCover::Load

Included in:
DeepCover
Defined in:
lib/deep_cover/load.rb

Constant Summary collapse

AUTOLOAD =
%i[analyser autoload_tracker auto_run config
 coverage covered_code custom_requirer
 tracker_hits_per_path tracker_storage_per_path
 flag_comment_associator memoize module_override node
 problem_with_diagnostic reporter tracker_bucket
]

Instance Method Summary collapse

Instance Method Details

#bootstrapObject



27
28
29
30
31
32
33
# File 'lib/deep_cover/load.rb', line 27

def bootstrap
  @bootstrapped ||= false # Avoid warning
  return if @bootstrapped
  require_relative 'backports'
  require_relative 'tools'
  @bootstrapped = true
end

#load_absolute_basicsObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/deep_cover/load.rb', line 12

def load_absolute_basics
  require_relative 'base'
  require_relative 'basics'
  require_relative 'config_setter'
  require_relative 'tools/camelize'
  AUTOLOAD.each do |module_name|
    DeepCover.autoload(Tools::Camelize.camelize(module_name), "#{__dir__}/#{module_name}")
  end
  DeepCover.autoload :VERSION, "#{__dir__}/version"
  Object.autoload :Term, 'term/ansicolor'
  Object.autoload :Terminal, 'terminal-table'
  Object.autoload :YAML, 'yaml'
  Object.autoload :Forwardable, 'forwardable'
end

#load_allObject



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/deep_cover/load.rb', line 52

def load_all
  @all_loaded ||= false
  return if @all_loaded
  bootstrap
  load_parser
  AUTOLOAD.each do |module_name|
    DeepCover.const_get(Tools::Camelize.camelize(module_name))
  end
  DeepCover.const_get(:VERSION)
  @all_loaded = true
end

#load_parserObject



35
36
37
38
39
40
41
42
43
44
# File 'lib/deep_cover/load.rb', line 35

def load_parser
  @parser_loaded ||= false # Avoid warning
  return if @parser_loaded
  silence_warnings do
    require 'parser'
    require 'parser/current'
  end
  require_relative_dir 'parser_ext'
  @parser_loaded = true
end

#load_pryObject



46
47
48
49
50
# File 'lib/deep_cover/load.rb', line 46

def load_pry
  silence_warnings do # Avoid "WARN: Unresolved specs during Gem::Specification.reset"
    require 'pry'     # after `pry` calls `Gem.refresh`
  end
end