module PowerAssert
Constants
- CLEAR_CACHE_ISEQ
- IGNORED_LIB_DIRS
For backward compatibility
- INTERNAL_LIB_DIRS
- POWER_ASSERT_LIB_DIR
- SUPPORT_ALIAS_METHOD
- VERSION
Public Class Methods
app_caller_locations()
click to toggle source
# File lib/power_assert.rb, line 55 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 lib/power_assert.rb, line 59 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 lib/power_assert/configuration.rb, line 3 def configuration @configuration ||= Configuration[false, false, true, false, false] end
configure() { |configuration| ... }
click to toggle source
# File 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 lib/power_assert.rb, line 37 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 lib/power_assert.rb, line 44 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 lib/power_assert.rb, line 89 def clear_global_method_cache CLEAR_CACHE_ISEQ.eval end
internal_file?(file)
click to toggle source
# File lib/power_assert.rb, line 66 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 lib/power_assert.rb, line 81 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 lib/power_assert.rb, line 74 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 lib/power_assert/enable_tracepoint_events.rb, line 70 def ! end
==()
click to toggle source
# File lib/power_assert/enable_tracepoint_events.rb, line 63 def == end
fixed?()
click to toggle source
# File lib/power_assert/enable_tracepoint_events.rb, line 25 def fixed? true end
Also aliased as: _fixed?