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
Constant Summary collapse
- VERSION =
"1.1.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
55 56 57 |
# 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? ⇒ Boolean
59 60 61 62 |
# 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 ⇒ Object
3 4 5 |
# File 'lib/power_assert/configuration.rb', line 3 def configuration @configuration ||= Configuration[false, false, true, false, false] 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
37 38 39 40 41 42 |
# 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) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# 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 |