Module: PowerAssert
- Defined in:
- lib/power_assert.rb,
lib/power_assert/parser.rb,
lib/power_assert/context.rb,
lib/power_assert/version.rb,
lib/power_assert/inspector.rb,
lib/power_assert/configuration.rb,
lib/power_assert/enable_tracepoint_events.rb
Constant Summary collapse
- VERSION =
"2.0.4"
Class Method Summary collapse
- .app_caller_locations ⇒ Object
- .app_context? ⇒ Boolean
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
- .start(assertion_proc_or_source, assertion_method: nil, source_binding: TOPLEVEL_BINDING) {|BlockContext.new(assertion_proc_or_source, assertion_method, source_binding)| ... } ⇒ Object
- .trace(frame) ⇒ Object
Class Method Details
.app_caller_locations ⇒ Object
50 51 52 |
# File '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? ⇒ Boolean
54 55 56 57 |
# File '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 ⇒ Object
3 4 5 |
# File 'lib/power_assert/configuration.rb', line 3 def configuration @configuration ||= Configuration[false, true, false, :p] end |
.configure {|configuration| ... } ⇒ Object
7 8 9 |
# 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) {|BlockContext.new(assertion_proc_or_source, assertion_method, source_binding)| ... } ⇒ Object
32 33 34 35 36 37 |
# File '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) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File '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 |