Sha256: d064439f1fdf0e310c474ac2f20bd6593f6edd55bbfac1da4c9dc81b005cd3b2

Contents?: true

Size: 545 Bytes

Versions: 11

Compression:

Stored size: 545 Bytes

Contents

# frozen_string_literal: true

require_relative '../module_override'

# Adds a functionality to add callbacks before an `exec`

module DeepCover
  module ExecCallbacks
    class << self
      attr_reader :callbacks

      def before_exec(&block)
        self.active = true
        (@callbacks ||= []) << block
      end
    end

    def exec(*args)
      ExecCallbacks.callbacks.each(&:call)
      exec_without_deep_cover(*args)
    end

    extend ModuleOverride
    override ::Kernel, ::Kernel.singleton_class
    self.active = true
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
deep-cover-core-0.6.4 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-core-0.6.3 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-core-0.6.3.pre lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.6.2 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.6.1 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.6.0 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.5.7 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.5.6 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.5.5 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.5.4 lib/deep_cover/core_ext/exec_callbacks.rb
deep-cover-0.5.3 lib/deep_cover/core_ext/exec_callbacks.rb