module PowerAssert - power_assert: Ruby Standard Library Documentation

# module PowerAssert

### Constants

CLEAR_CACHE_ISEQ
INTERNAL_LIB_DIRS
POWER_ASSERT_LIB_DIR
VERSION

### Public Class Methods

app_caller_locations() click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 50
    def app_caller_locations
      caller_locations.drop_while {|i| internal_file?(i.path) }.take_while {|i| ! internal_file?(i.path) }
    end

app_context?() click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 54
    def app_context?
      top_frame = caller_locations.drop_while {|i| i.path.start_with?(POWER_ASSERT_LIB_DIR) }.first
      top_frame and ! internal_file?(top_frame.path)
    end

configuration() click to toggle source

    # File power_assert-2.0.5/lib/power_assert/configuration.rb, line 3
    def configuration
      @configuration ||= Configuration[false, true, false, :p]
    end

configure() { |configuration| ... } click to toggle source

    # File power_assert-2.0.5/lib/power_assert/configuration.rb, line 7
    def configure
      yield configuration
    end

start(assertion_proc_or_source, assertion_method: nil, source_binding: TOPLEVEL_BINDING) { |block_context| ... } click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 32
    def start(assertion_proc_or_source, assertion_method: nil, source_binding: TOPLEVEL_BINDING)
      if respond_to?(:clear_global_method_cache, true)
        clear_global_method_cache
      end
      yield BlockContext.new(assertion_proc_or_source, assertion_method, source_binding)
    end

trace(frame) click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 39
    def trace(frame)
      begin
        raise 'Byebug is not started yet' unless Byebug.started?
      rescue NameError
        raise "PowerAssert.#{__method__} requires Byebug"
      end
      ctx = TraceContext.new(frame._binding)
      ctx.enable
      ctx
    end

### Private Class Methods

clear_global_method_cache() click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 84
    def clear_global_method_cache
      CLEAR_CACHE_ISEQ.eval
    end

internal_file?(file) click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 61
    def internal_file?(file)
      setup_internal_lib_dir(Byebug, :attach, 2) if defined?(Byebug)
      setup_internal_lib_dir(PryByebug, :start_with_pry_byebug, 2, Pry) if defined?(PryByebug)
      INTERNAL_LIB_DIRS.find do |_, dir|
        file.start_with?(dir)
      end
    end

lib_dir(obj, mid, depth) click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 76
    def lib_dir(obj, mid, depth)
      File.expand_path('../' * depth, obj.method(mid).source_location[0])
    end

setup_internal_lib_dir(lib, mid, depth, lib_obj = lib) click to toggle source

    # File power_assert-2.0.5/lib/power_assert.rb, line 69
    def setup_internal_lib_dir(lib, mid, depth, lib_obj = lib)
      unless INTERNAL_LIB_DIRS.key?(lib)
        INTERNAL_LIB_DIRS[lib] = lib_dir(lib_obj, mid, depth)
      end
    rescue NameError
    end

### Public Instance Methods

!() click to toggle source

    # File power_assert-2.0.5/lib/power_assert/enable_tracepoint_events.rb, line 44
    def !
    end

==() click to toggle source

    # File power_assert-2.0.5/lib/power_assert/enable_tracepoint_events.rb, line 47
    def ==
    end