pry-nav 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -0
- data/lib/pry-nav.rb +1 -1
- data/lib/pry-nav/commands.rb +5 -5
- data/lib/pry-nav/pry_ext.rb +1 -1
- data/lib/pry-nav/pry_remote_ext.rb +2 -2
- data/lib/pry-nav/tracer.rb +4 -4
- data/lib/pry-nav/version.rb +1 -1
- data/pry-nav.gemspec +2 -2
- metadata +8 -7
data/CHANGELOG.md
CHANGED
data/lib/pry-nav.rb
CHANGED
@@ -7,7 +7,7 @@ require 'pry-nav/tracer'
|
|
7
7
|
require 'pry-nav/pry_remote_ext' if defined? PryRemote
|
8
8
|
|
9
9
|
module PryNav
|
10
|
-
TRACE_IGNORE_FILES = Dir[File.join(File.dirname(__FILE__), '**', '*.rb')]
|
10
|
+
TRACE_IGNORE_FILES = Dir[File.join(File.dirname(__FILE__), '**', '*.rb')].map { |f| File.expand_path(f) }
|
11
11
|
|
12
12
|
extend self
|
13
13
|
|
data/lib/pry-nav/commands.rb
CHANGED
@@ -2,17 +2,17 @@ require 'pry'
|
|
2
2
|
|
3
3
|
module PryNav
|
4
4
|
Commands = Pry::CommandSet.new do
|
5
|
-
|
5
|
+
block_command 'step', 'Step execution into the next line or method.' do |steps|
|
6
6
|
check_file_context
|
7
7
|
breakout_navigation :step, steps
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
block_command 'next', 'Execute the next line within the same stack frame.' do |lines|
|
11
11
|
check_file_context
|
12
12
|
breakout_navigation :next, lines
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
block_command 'continue', 'Continue program execution and end the Pry session.' do
|
16
16
|
check_file_context
|
17
17
|
run 'exit-all'
|
18
18
|
end
|
@@ -25,8 +25,8 @@ module PryNav
|
|
25
25
|
def breakout_navigation(action, times)
|
26
26
|
_pry_.binding_stack.clear # Clear the binding stack.
|
27
27
|
throw :breakout_nav, { # Break out of the REPL loop and
|
28
|
-
action
|
29
|
-
times
|
28
|
+
:action => action, # signal the tracer.
|
29
|
+
:times => times
|
30
30
|
}
|
31
31
|
end
|
32
32
|
|
data/lib/pry-nav/pry_ext.rb
CHANGED
@@ -7,7 +7,7 @@ class << Pry
|
|
7
7
|
def start(target = TOPLEVEL_BINDING, options = {})
|
8
8
|
old_options = options.reject { |k, _| k == :pry_remote }
|
9
9
|
|
10
|
-
if PryNav.check_file_context(target)
|
10
|
+
if target.is_a?(Binding) && PryNav.check_file_context(target)
|
11
11
|
# Wrap the tracer around the usual Pry.start
|
12
12
|
PryNav::Tracer.new(options).run do
|
13
13
|
start_existing(target, old_options)
|
@@ -90,7 +90,7 @@ end
|
|
90
90
|
# Ensure cleanup when a program finishes without another break. For example,
|
91
91
|
# 'next' on the last line of a program never hits the tracer proc, and thus
|
92
92
|
# PryNav::Tracer#run doesn't have a chance to cleanup.
|
93
|
-
|
93
|
+
at_exit do
|
94
94
|
set_trace_func nil
|
95
95
|
PryRemote::Server.stop
|
96
|
-
|
96
|
+
end
|
data/lib/pry-nav/tracer.rb
CHANGED
@@ -11,9 +11,9 @@ module PryNav
|
|
11
11
|
|
12
12
|
def run(&block)
|
13
13
|
# For performance, disable any tracers while in the console.
|
14
|
-
# Unfortunately
|
15
|
-
# http://redmine.ruby-lang.org/issues/3921
|
16
|
-
stop
|
14
|
+
# Unfortunately doesn't work in 1.9.2 because of
|
15
|
+
# http://redmine.ruby-lang.org/issues/3921. Works fine in 1.8.7 and 1.9.3.
|
16
|
+
stop unless RUBY_VERSION == '1.9.2'
|
17
17
|
|
18
18
|
return_value = nil
|
19
19
|
command = catch(:breakout_nav) do # Coordinates with PryNav::Commands
|
@@ -25,7 +25,7 @@ module PryNav
|
|
25
25
|
if process_command(command)
|
26
26
|
start
|
27
27
|
else
|
28
|
-
stop
|
28
|
+
stop if RUBY_VERSION == '1.9.2'
|
29
29
|
PryRemote::Server.stop if @pry_start_options[:pry_remote]
|
30
30
|
end
|
31
31
|
|
data/lib/pry-nav/version.rb
CHANGED
data/pry-nav.gemspec
CHANGED
@@ -18,6 +18,6 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
20
|
# Dependencies
|
21
|
-
gem.required_ruby_version = '>= 1.
|
22
|
-
gem.add_runtime_dependency 'pry', '~> 0.9.
|
21
|
+
gem.required_ruby_version = '>= 1.8.7'
|
22
|
+
gem.add_runtime_dependency 'pry', '~> 0.9.8.1'
|
23
23
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-nav
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,19 +9,19 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-02-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
16
|
-
requirement: &
|
16
|
+
requirement: &70283139020540 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.9.
|
21
|
+
version: 0.9.8.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70283139020540
|
25
25
|
description: Turn Pry into a primitive debugger. Adds 'step' and 'next' commands to
|
26
26
|
control execution.
|
27
27
|
email: nixme@stillhope.com
|
@@ -54,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 1.
|
57
|
+
version: 1.8.7
|
58
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
59
|
none: false
|
60
60
|
requirements:
|
@@ -63,8 +63,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
63
|
version: '0'
|
64
64
|
requirements: []
|
65
65
|
rubyforge_project:
|
66
|
-
rubygems_version: 1.8.
|
66
|
+
rubygems_version: 1.8.11
|
67
67
|
signing_key:
|
68
68
|
specification_version: 3
|
69
69
|
summary: Simple execution navigation for Pry.
|
70
70
|
test_files: []
|
71
|
+
has_rdoc:
|