Sha256: b26acd4b6e28d2953dbc85fc3dfb28adebf46a16e875c7f1187c6119fb105b67

Contents?: true

Size: 812 Bytes

Versions: 26

Compression:

Stored size: 812 Bytes

Contents

# frozen_string_literal: true

# 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)

module DeepCover
  load_all

  module RequireOverride
    def require(path)
      DeepCover.custom_requirer.require(path) { require_without_deep_cover(path) }
    end

    def require_relative(path)
      base = caller(1..1).first[/[^:]+/]
      raise LoadError, 'cannot infer basepath' unless base
      base = File.dirname(base)

      require(File.absolute_path(path, base))
    end

    extend ModuleOverride
    override ::Kernel, ::Kernel.singleton_class
  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
deep-cover-core-1.1.0 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-1.0.0 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.8.1 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.8.0 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.10 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.9 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.8 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.7 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.6 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.5 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.4 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.3 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.2 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.1 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.7.0 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.6.4 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.6.3 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-core-0.6.3.pre lib/deep_cover/core_ext/require_overrides.rb
deep-cover-0.6.2 lib/deep_cover/core_ext/require_overrides.rb
deep-cover-0.6.1 lib/deep_cover/core_ext/require_overrides.rb