module DeepCover

TODO: if a constant is removed, AutoloadEntries should be removed

Basic constants without any dependencies are here

This is a complete replacement for the builtin Coverage module of Ruby

These are the monkeypatches to replace the default load in order to instrument the code before it gets run. For now, this is not used, and may never be. The tracking and reporting for things can might be loaded multiple times can be complex and is beyond the current scope of the project.

These are the monkeypatches to replace the default require and require_relative in order to instrument the code before it gets run. Kernel.require and Kernel#require must both have their version because each can have been already overwritten individually. (Rubygems only overrides Kernel#require)

This is really just to make debugging less of a pain, it gives a way to the code to access the anonymous top-level module

This file is called from `require 'deep-cover'` and from the CLI

This setups the DeepCover environment code-wise.

Constants

CLI_DEFAULTS
CORE_GEM_LIB_DIRECTORY
DEFAULTS
FILTER_NAME
GLOBAL_BINDING
OPTIONALLY_COVERED
REQUIRABLE_EXTENSIONS
REQUIRABLE_EXTENSION_KEYS
TAKEOVER_IS_ON