pry-nav 0.2.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/main.yml +20 -0
- data/.gitignore +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +21 -0
- data/Gemfile +6 -3
- data/README.md +30 -28
- data/Rakefile +10 -2
- data/lib/pry-nav/commands.rb +7 -6
- data/lib/pry-nav/pry_ext.rb +7 -5
- data/lib/pry-nav/pry_remote_ext.rb +12 -11
- data/lib/pry-nav/tracer.rb +7 -11
- data/lib/pry-nav/version.rb +1 -1
- data/lib/pry-nav.rb +6 -1
- data/pry-nav.gemspec +5 -6
- data/test/pry_nav_test.rb +98 -0
- data/test/test_helper.rb +39 -0
- metadata +41 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 342150dc2c72e13894b2e824b2e0d3104fdd7bfb345e081b509da4cc865e2533
|
4
|
+
data.tar.gz: 2b94f22aba1710e1202af420e59521f634202e7c327f67f9a358b16c18fb0d98
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: edc7473c442feaf082961bf7be9bb341692e9c47ee1128cbcab90c12b3c394121ad40974a6d84f07ca4cf0926d6f50661a9cfa2b2eba0b194d22bc0820edac21
|
7
|
+
data.tar.gz: b3aef7a0f36f115d35ee932f53c5547a98b94ee43637a36f164a996a675465435c514fe824799778dd1f1274f7bf3ebbf4c509e3d404cdbaf910a5df0b2a971f
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push,pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
ruby-version: ['3.0', 2.7, 2.6, 2.5, 2.4, 2.3, 2.2, 2.1]
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
14
|
+
uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: ${{ matrix.ruby-version }}
|
17
|
+
- name: Install dependencies
|
18
|
+
run: bundle install
|
19
|
+
- name: Run tests
|
20
|
+
run: bundle exec rake
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.7.3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
## 1.0.0
|
2
|
+
|
3
|
+
* Drop support for ruby < 2.1.
|
4
|
+
* Support Pry 0.14
|
5
|
+
* Adding tests
|
6
|
+
* Fix warning on ruby 2.7
|
7
|
+
|
8
|
+
## 0.3.0 (2019-04-16)
|
9
|
+
|
10
|
+
* Fix circular require warning.
|
11
|
+
* Support Pry 0.11 & 0.12
|
12
|
+
|
13
|
+
## 0.2.4 (2014-06-25)
|
14
|
+
|
15
|
+
* Support Pry 0.10
|
16
|
+
|
17
|
+
## 0.2.3 (2012-12-26)
|
18
|
+
|
19
|
+
* Safer `alias_method_chain`-style patching of `Pry.start` and
|
20
|
+
`PryRemote::Server#teardown`. (@benizi)
|
21
|
+
|
1
22
|
## 0.2.2 (2012-06-14)
|
2
23
|
|
3
24
|
* Upgrade to Pry 0.9.10. (@banister)
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,30 +1,33 @@
|
|
1
|
-
|
2
|
-
Includes the same features as **pry-nav** with faster tracing, breakpoints, and
|
3
|
-
other additional capabilities.
|
1
|
+
### Using MRI? We recommend [**break**][break] or [**pry-byebug**][pry-byebug] instead!
|
4
2
|
|
3
|
+
# pry-nav [](https://github.com/nixme/pry-nav/actions/workflows/main.yml)
|
5
4
|
|
6
|
-
pry
|
7
|
-
=======
|
5
|
+
_A simple execution control add-on for [Pry][pry]._
|
8
6
|
|
9
|
-
|
7
|
+
Compatible with MRI >= 2.1.0, JRuby >= 9.1.3.0.
|
10
8
|
|
11
|
-
Teaches [Pry][pry] about
|
9
|
+
Teaches [Pry][pry] about `step`, `next`, and `continue` to create a simple
|
12
10
|
debugger.
|
13
11
|
|
14
|
-
To use, invoke pry normally:
|
12
|
+
To use, invoke `pry` normally:
|
15
13
|
|
16
14
|
```ruby
|
17
15
|
def some_method
|
18
16
|
binding.pry # Execution will stop here.
|
19
|
-
puts 'Hello World'
|
17
|
+
puts 'Hello, World!' # Run 'step' or 'next' in the console to move here.
|
20
18
|
end
|
21
19
|
```
|
22
20
|
|
23
|
-
|
21
|
+
When using JRuby, you also need to run it with the `--debug` flag. You can
|
22
|
+
also add the flag to your `JRUBY_OPTS` environment variable for it to apply
|
23
|
+
when running any ruby command, but do note that even when not making use of
|
24
|
+
`pry` this has a big impact on JRuby performance.
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
`pry-nav` is not yet thread-safe, so only use in single-threaded environments.
|
27
|
+
|
28
|
+
Rudimentary support for [`pry-remote`][pry-remote] (>= 0.1.1) is also included.
|
29
|
+
Ensure `pry-remote` is loaded or required before `pry-nav`. For example, in a
|
30
|
+
`Gemfile`:
|
28
31
|
|
29
32
|
```ruby
|
30
33
|
gem 'pry'
|
@@ -40,37 +43,36 @@ Pry.commands.alias_command 's', 'step'
|
|
40
43
|
Pry.commands.alias_command 'n', 'next'
|
41
44
|
```
|
42
45
|
|
43
|
-
|
46
|
+
Please note that debugging functionality is implemented through
|
44
47
|
[`set_trace_func`][set_trace_func], which imposes a large performance
|
45
|
-
penalty.
|
46
|
-
[bug in 1.9.2][ruby-bug], the console will feel sluggish. Use 1.9.3 for best
|
47
|
-
results and almost no performance penalty.
|
48
|
-
|
48
|
+
penalty.
|
49
49
|
|
50
50
|
## Contributors
|
51
51
|
|
52
|
-
* Gopal Patel (@nixme)
|
53
|
-
* John Mair (@banister)
|
54
|
-
* Conrad Irwin (@ConradIrwin)
|
52
|
+
* Gopal Patel ([@nixme](https://github.com/nixme))
|
53
|
+
* John Mair ([@banister](https://github.com/banister))
|
54
|
+
* Conrad Irwin ([@ConradIrwin](https://github.com/ConradIrwin))
|
55
|
+
* Benjamin R. Haskell ([@benizi](https://github.com/benizi))
|
56
|
+
* Jason R. Clark ([@jasonrclark](https://github.com/jasonrclark))
|
57
|
+
* Ivo Anjo ([@ivoanjo](https://github.com/ivoanjo))
|
58
|
+
* Michael Bianco ([@iloveitaly](https://github.com/iloveitaly))
|
55
59
|
|
56
60
|
Patches and bug reports are welcome. Just send a [pull request][pullrequests] or
|
57
61
|
file an [issue][issues]. [Project changelog][changelog].
|
58
62
|
|
59
|
-
|
60
63
|
## Acknowledgments
|
61
64
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
+
* Ruby stdlib's [debug.rb][debug.rb]
|
66
|
+
* [@Mon-Ouie][Mon-Ouie]'s [pry_debug][pry_debug]
|
65
67
|
|
66
|
-
[pry
|
67
|
-
[pry]: http://pry.github.com
|
68
|
+
[pry]: http://pryrepl.org/
|
68
69
|
[pry-remote]: https://github.com/Mon-Ouie/pry-remote
|
69
70
|
[set_trace_func]: http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-set_trace_func
|
70
|
-
[ruby-bug]: http://redmine.ruby-lang.org/issues/3921
|
71
71
|
[pullrequests]: https://github.com/nixme/pry-nav/pulls
|
72
72
|
[issues]: https://github.com/nixme/pry-nav/issues
|
73
73
|
[changelog]: https://github.com/nixme/pry-nav/blob/master/CHANGELOG.md
|
74
74
|
[debug.rb]: https://github.com/ruby/ruby/blob/trunk/lib/debug.rb
|
75
75
|
[Mon-Ouie]: https://github.com/Mon-Ouie
|
76
76
|
[pry_debug]: https://github.com/Mon-Ouie/pry_debug
|
77
|
+
[pry-byebug]: https://github.com/deivid-rodriguez/pry-byebug
|
78
|
+
[break]: https://github.com/gsamokovarov/break
|
data/Rakefile
CHANGED
@@ -1,2 +1,10 @@
|
|
1
|
-
|
2
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rake/testtask'
|
3
|
+
|
4
|
+
task :default => :test
|
5
|
+
|
6
|
+
Rake::TestTask.new(:test) do |task|
|
7
|
+
task.libs << 'test'
|
8
|
+
task.test_files = FileList['test/*_test.rb']
|
9
|
+
task.verbose = true
|
10
|
+
end
|
data/lib/pry-nav/commands.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'pry'
|
1
|
+
require 'pry' unless defined? Pry
|
2
2
|
|
3
3
|
module PryNav
|
4
4
|
Commands = Pry::CommandSet.new do
|
@@ -19,11 +19,12 @@ module PryNav
|
|
19
19
|
|
20
20
|
helpers do
|
21
21
|
def breakout_navigation(action, times)
|
22
|
-
|
23
|
-
throw
|
24
|
-
:
|
25
|
-
:
|
26
|
-
|
22
|
+
pry_instance.binding_stack.clear # Clear the binding stack.
|
23
|
+
throw(
|
24
|
+
:breakout_nav, # Break out of the REPL loop and
|
25
|
+
action: action, # signal the tracer.
|
26
|
+
times: times,
|
27
|
+
)
|
27
28
|
end
|
28
29
|
|
29
30
|
# Ensures that a command is executed in a local file context.
|
data/lib/pry-nav/pry_ext.rb
CHANGED
@@ -1,20 +1,22 @@
|
|
1
|
-
require 'pry'
|
1
|
+
require 'pry' unless defined? Pry
|
2
2
|
require 'pry-nav/tracer'
|
3
3
|
|
4
4
|
class << Pry
|
5
|
-
|
5
|
+
alias start_without_pry_nav start
|
6
6
|
|
7
|
-
def
|
7
|
+
def start_with_pry_nav(target = TOPLEVEL_BINDING, options = {})
|
8
8
|
old_options = options.reject { |k, _| k == :pry_remote }
|
9
9
|
|
10
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_without_pry_nav(target, old_options)
|
14
14
|
end
|
15
15
|
else
|
16
16
|
# No need for the tracer unless we have a file context to step through
|
17
|
-
|
17
|
+
start_without_pry_nav(target, old_options)
|
18
18
|
end
|
19
19
|
end
|
20
|
+
|
21
|
+
alias start start_with_pry_nav
|
20
22
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'pry' unless defined? Pry
|
1
2
|
require 'pry-remote'
|
2
3
|
|
3
4
|
module PryRemote
|
@@ -13,19 +14,21 @@ module PryRemote
|
|
13
14
|
end
|
14
15
|
|
15
16
|
setup
|
16
|
-
Pry.start
|
17
|
-
|
18
|
-
:
|
19
|
-
:
|
20
|
-
|
17
|
+
Pry.start(
|
18
|
+
@object,
|
19
|
+
input: client.input_proxy,
|
20
|
+
output: client.output,
|
21
|
+
pry_remote: true,
|
22
|
+
)
|
21
23
|
end
|
22
24
|
|
23
25
|
# Override to reset our saved global current server session.
|
24
|
-
|
25
|
-
def
|
26
|
-
|
26
|
+
alias teardown_without_pry_nav teardown
|
27
|
+
def teardown_with_pry_nav
|
28
|
+
teardown_without_pry_nav
|
27
29
|
PryNav.current_remote_server = nil
|
28
30
|
end
|
31
|
+
alias teardown teardown_with_pry_nav
|
29
32
|
end
|
30
33
|
end
|
31
34
|
|
@@ -34,7 +37,5 @@ end
|
|
34
37
|
# PryNav::Tracer#run doesn't have a chance to cleanup.
|
35
38
|
at_exit do
|
36
39
|
set_trace_func nil
|
37
|
-
if PryNav.current_remote_server
|
38
|
-
PryNav.current_remote_server.teardown
|
39
|
-
end
|
40
|
+
PryNav.current_remote_server.teardown if PryNav.current_remote_server
|
40
41
|
end
|
data/lib/pry-nav/tracer.rb
CHANGED
@@ -1,19 +1,17 @@
|
|
1
|
-
require 'pry'
|
1
|
+
require 'pry' unless defined? Pry
|
2
2
|
|
3
3
|
module PryNav
|
4
4
|
class Tracer
|
5
|
-
def initialize(pry_start_options = {}
|
5
|
+
def initialize(pry_start_options = {})
|
6
6
|
@step_in_lines = -1 # Break after this many lines
|
7
7
|
@frames_when_stepping = nil # Only break at this frame level
|
8
8
|
@frames = 0 # Traced stack frame level
|
9
9
|
@pry_start_options = pry_start_options # Options to use for Pry.start
|
10
10
|
end
|
11
11
|
|
12
|
-
def run
|
12
|
+
def run
|
13
13
|
# For performance, disable any tracers while in the console.
|
14
|
-
|
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'
|
14
|
+
stop
|
17
15
|
|
18
16
|
return_value = nil
|
19
17
|
command = catch(:breakout_nav) do # Coordinates with PryNav::Commands
|
@@ -25,7 +23,6 @@ module PryNav
|
|
25
23
|
if process_command(command)
|
26
24
|
start
|
27
25
|
else
|
28
|
-
stop if RUBY_VERSION == '1.9.2'
|
29
26
|
if @pry_start_options[:pry_remote] && PryNav.current_remote_server
|
30
27
|
PryNav.current_remote_server.teardown
|
31
28
|
end
|
@@ -60,10 +57,9 @@ module PryNav
|
|
60
57
|
end
|
61
58
|
end
|
62
59
|
|
60
|
+
private
|
63
61
|
|
64
|
-
|
65
|
-
|
66
|
-
def tracer(event, file, line, id, binding, klass)
|
62
|
+
def tracer(event, file, _line, _id, binding, _klass)
|
67
63
|
# Ignore traces inside pry-nav code
|
68
64
|
return if file && TRACE_IGNORE_FILES.include?(File.expand_path(file))
|
69
65
|
|
@@ -81,7 +77,7 @@ module PryNav
|
|
81
77
|
end
|
82
78
|
|
83
79
|
# Break on this line?
|
84
|
-
Pry.start(binding, @pry_start_options) if @step_in_lines
|
80
|
+
Pry.start(binding, @pry_start_options) if @step_in_lines.zero?
|
85
81
|
|
86
82
|
when 'call', 'class'
|
87
83
|
@frames += 1 # Track entering a frame
|
data/lib/pry-nav/version.rb
CHANGED
data/lib/pry-nav.rb
CHANGED
@@ -14,7 +14,12 @@ module PryNav
|
|
14
14
|
# Checks that a binding is in a local file context. Extracted from
|
15
15
|
# https://github.com/pry/pry/blob/master/lib/pry/default_commands/context.rb
|
16
16
|
def check_file_context(target)
|
17
|
-
file = target.
|
17
|
+
file = if target.respond_to?(:source_location)
|
18
|
+
target.source_location.first
|
19
|
+
else
|
20
|
+
target.eval('__FILE__')
|
21
|
+
end
|
22
|
+
|
18
23
|
file == Pry.eval_path || (file !~ /(\(.*\))|<.*>/ && file != '' && file != '-e')
|
19
24
|
end
|
20
25
|
|
data/pry-nav.gemspec
CHANGED
@@ -12,13 +12,12 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.summary = 'Simple execution navigation for Pry.'
|
13
13
|
gem.description = "Turn Pry into a primitive debugger. Adds 'step' and 'next' commands to control execution."
|
14
14
|
|
15
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
16
16
|
gem.files = `git ls-files`.split("\n")
|
17
17
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
-
gem.require_paths = [
|
18
|
+
gem.require_paths = ['lib']
|
19
19
|
|
20
|
-
|
21
|
-
gem.
|
22
|
-
gem.
|
23
|
-
gem.add_development_dependency 'pry-remote', '~> 0.1.1'
|
20
|
+
gem.required_ruby_version = '>= 2.1.0'
|
21
|
+
gem.add_runtime_dependency 'pry', '>= 0.9.10', '< 0.15'
|
22
|
+
gem.add_development_dependency 'rake'
|
24
23
|
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require ::File.expand_path("test_helper", __dir__)
|
4
|
+
|
5
|
+
class PryNavTest < Test::Unit::TestCase
|
6
|
+
# removing color makes string matching easier
|
7
|
+
def setup
|
8
|
+
Pry.color = false
|
9
|
+
end
|
10
|
+
|
11
|
+
# lifted from:
|
12
|
+
# https://github.com/pry/pry-stack_explorer/blob/e3e6bd202e092712900f0d5f239ee21ab2f32b2b/test/support/io_utils.rb
|
13
|
+
def with_pry_output_captured(new_in, new_out = StringIO.new)
|
14
|
+
old_in = Pry.input
|
15
|
+
old_out = Pry.output
|
16
|
+
|
17
|
+
# direct stdout so we can test against `puts` in the method we defined above
|
18
|
+
old_stdout = $stdout
|
19
|
+
$stdout = new_out
|
20
|
+
|
21
|
+
Pry.input = new_in
|
22
|
+
Pry.output = new_out
|
23
|
+
|
24
|
+
begin
|
25
|
+
yield
|
26
|
+
ensure
|
27
|
+
Pry.input = old_in
|
28
|
+
Pry.output = old_out
|
29
|
+
$stdout = old_stdout
|
30
|
+
end
|
31
|
+
|
32
|
+
new_out
|
33
|
+
end
|
34
|
+
|
35
|
+
# `step` will step into the frames, while `next` keeps the debugging execution within the frame
|
36
|
+
def test_step
|
37
|
+
o = NavSample.new
|
38
|
+
|
39
|
+
r = with_pry_output_captured(
|
40
|
+
InputTester.new(
|
41
|
+
"step",
|
42
|
+
|
43
|
+
"step",
|
44
|
+
"step",
|
45
|
+
|
46
|
+
"continue"
|
47
|
+
)
|
48
|
+
){ o.nested_bind_with_call }
|
49
|
+
|
50
|
+
# initial binding display
|
51
|
+
assert(r.string.include?("def nested_bind_with_call"))
|
52
|
+
|
53
|
+
# after two steps, we are in the second frame, let's make sure we get there
|
54
|
+
assert(r.string.include?("def nested_bind_call"))
|
55
|
+
|
56
|
+
assert(/nested_puts\n/ =~ r.string)
|
57
|
+
assert(/root_puts\n/ =~ r.string)
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_next
|
61
|
+
o = NavSample.new
|
62
|
+
|
63
|
+
r = with_pry_output_captured(
|
64
|
+
InputTester.new(
|
65
|
+
"next",
|
66
|
+
"next",
|
67
|
+
"next",
|
68
|
+
"continue"
|
69
|
+
)
|
70
|
+
){ o.nested_bind_with_call }
|
71
|
+
|
72
|
+
assert(r.string.include?("def nested_bind_with_call"))
|
73
|
+
refute(r.string.include?("def nested_bind_call"))
|
74
|
+
|
75
|
+
assert(/nested_puts\n/ =~ r.string)
|
76
|
+
assert(/root_puts\n/ =~ r.string)
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_continue
|
80
|
+
o = NavSample.new
|
81
|
+
|
82
|
+
r = with_pry_output_captured(
|
83
|
+
InputTester.new(
|
84
|
+
"continue",
|
85
|
+
)
|
86
|
+
){ o.nested_bind_with_call }
|
87
|
+
|
88
|
+
assert(r.string.include?("def nested_bind_with_call"))
|
89
|
+
refute(r.string.include?("def nested_bind_call"))
|
90
|
+
|
91
|
+
assert(/nested_puts\n/ =~ r.string)
|
92
|
+
assert(/root_puts\n/ =~ r.string)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_file_context
|
96
|
+
assert(PryNav.check_file_context(binding))
|
97
|
+
end
|
98
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
# lets make sure it works will all of the pry extensions
|
5
|
+
Bundler.require
|
6
|
+
|
7
|
+
class NavSample
|
8
|
+
def nested_bind_with_call
|
9
|
+
Pry.start(binding)
|
10
|
+
nested_bind_call
|
11
|
+
puts "root_puts"
|
12
|
+
end
|
13
|
+
|
14
|
+
def nested_bind_call
|
15
|
+
puts "nested_puts"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# lifted from:
|
20
|
+
# https://github.com/pry/pry-stack_explorer/blob/e3e6bd202e092712900f0d5f239ee21ab2f32b2b/test/support/input_tester.rb
|
21
|
+
|
22
|
+
class InputTester
|
23
|
+
def initialize(*actions)
|
24
|
+
if actions.last.is_a?(Hash) && actions.last.keys == [:history]
|
25
|
+
@hist = actions.pop[:history]
|
26
|
+
end
|
27
|
+
|
28
|
+
@orig_actions = actions.dup
|
29
|
+
@actions = actions
|
30
|
+
end
|
31
|
+
|
32
|
+
def readline(*)
|
33
|
+
@actions.shift.tap{ |line| @hist << line if @hist }
|
34
|
+
end
|
35
|
+
|
36
|
+
def rewind
|
37
|
+
@actions = @orig_actions.dup
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,38 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-nav
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Gopal Patel
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2021-11-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: pry
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.9.10
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0.15'
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.9.10
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.15'
|
25
33
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement:
|
28
|
-
none: false
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
29
36
|
requirements:
|
30
|
-
- -
|
37
|
+
- - ">="
|
31
38
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0
|
39
|
+
version: '0'
|
33
40
|
type: :development
|
34
41
|
prerelease: false
|
35
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
36
47
|
description: Turn Pry into a primitive debugger. Adds 'step' and 'next' commands to
|
37
48
|
control execution.
|
38
49
|
email: nixme@stillhope.com
|
@@ -40,7 +51,9 @@ executables: []
|
|
40
51
|
extensions: []
|
41
52
|
extra_rdoc_files: []
|
42
53
|
files:
|
43
|
-
- .
|
54
|
+
- ".github/workflows/main.yml"
|
55
|
+
- ".gitignore"
|
56
|
+
- ".ruby-version"
|
44
57
|
- CHANGELOG.md
|
45
58
|
- Gemfile
|
46
59
|
- LICENSE
|
@@ -54,29 +67,31 @@ files:
|
|
54
67
|
- lib/pry-nav/tracer.rb
|
55
68
|
- lib/pry-nav/version.rb
|
56
69
|
- pry-nav.gemspec
|
70
|
+
- test/pry_nav_test.rb
|
71
|
+
- test/test_helper.rb
|
57
72
|
homepage: https://github.com/nixme/pry-nav
|
58
73
|
licenses:
|
59
74
|
- MIT
|
60
|
-
|
75
|
+
metadata: {}
|
76
|
+
post_install_message:
|
61
77
|
rdoc_options: []
|
62
78
|
require_paths:
|
63
79
|
- lib
|
64
80
|
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
81
|
requirements:
|
67
|
-
- -
|
82
|
+
- - ">="
|
68
83
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
84
|
+
version: 2.1.0
|
70
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
requirements: []
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
specification_version: 3
|
91
|
+
rubygems_version: 3.1.6
|
92
|
+
signing_key:
|
93
|
+
specification_version: 4
|
81
94
|
summary: Simple execution navigation for Pry.
|
82
|
-
test_files:
|
95
|
+
test_files:
|
96
|
+
- test/pry_nav_test.rb
|
97
|
+
- test/test_helper.rb
|