pry-nav 0.2.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ vendor/bundle
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
@@ -1,4 +1,7 @@
1
- source 'http://rubygems.org'
2
-
3
- # Specify your gem's dependencies in pry-nav.gemspec
1
+ source 'https://rubygems.org'
4
2
  gemspec
3
+
4
+ gem "test-unit"
5
+
6
+ gem "pry", "~> 0.14.1"
7
+ gem "pry-remote"
data/README.md CHANGED
@@ -1,30 +1,33 @@
1
- **Notice:** Using MRI 1.9.2+? Check out [**pry-debugger**][pry-debugger].
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 [![Ruby](https://github.com/nixme/pry-nav/actions/workflows/main.yml/badge.svg)](https://github.com/nixme/pry-nav/actions/workflows/main.yml)
5
4
 
6
- pry-nav
7
- =======
5
+ _A simple execution control add-on for [Pry][pry]._
8
6
 
9
- _Simple execution control in Pry_
7
+ Compatible with MRI >= 2.1.0, JRuby >= 9.1.3.0.
10
8
 
11
- Teaches [Pry][pry] about **step**, **next**, and **continue** to create a simple
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' # Run 'step' or 'next' in the console to move here.
17
+ puts 'Hello, World!' # Run 'step' or 'next' in the console to move here.
20
18
  end
21
19
  ```
22
20
 
23
- **pry-nav** is not yet thread-safe, so only use in single-threaded environments.
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
- Rudimentary support for [pry-remote][pry-remote] (>= 0.1.1) is also included.
26
- Ensure pry-remote is loaded or required before pry-nav. For example, in a
27
- Gemfile:
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
- Debugging functionality is implemented through
46
+ Please note that debugging functionality is implemented through
44
47
  [`set_trace_func`][set_trace_func], which imposes a large performance
45
- penalty. **pry-nav** traces only when necessary, but due to a workaround for a
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
- - Ruby stdlib's [debug.rb][debug.rb]
63
- - [@Mon-Ouie][Mon-Ouie]'s [pry_debug][pry_debug]
64
-
65
+ * Ruby stdlib's [debug.rb][debug.rb]
66
+ * [@Mon-Ouie][Mon-Ouie]'s [pry_debug][pry_debug]
65
67
 
66
- [pry-debugger]: https://github.com/nixme/pry-debugger
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
- #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
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
@@ -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
- _pry_.binding_stack.clear # Clear the binding stack.
23
- throw :breakout_nav, { # Break out of the REPL loop and
24
- :action => action, # signal the tracer.
25
- :times => times
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.
@@ -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
- alias_method :start_existing, :start
5
+ alias start_without_pry_nav start
6
6
 
7
- def start(target = TOPLEVEL_BINDING, options = {})
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
- start_existing(target, old_options)
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
- start_existing(target, old_options)
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 @object, {
17
- :input => client.input_proxy,
18
- :output => client.output,
19
- :pry_remote => true
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
- alias_method :teardown_existing, :teardown
25
- def teardown
26
- teardown_existing
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
@@ -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 = {}, &block)
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(&block)
12
+ def run
13
13
  # For performance, disable any tracers while in the console.
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'
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
- private
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 == 0
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
@@ -1,3 +1,3 @@
1
1
  module PryNav
2
- VERSION = '0.2.2'
2
+ VERSION = '1.0.0'
3
3
  end
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.eval('__FILE__')
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 = ["lib"]
18
+ gem.require_paths = ['lib']
19
19
 
20
- # Dependencies
21
- gem.required_ruby_version = '>= 1.8.7'
22
- gem.add_runtime_dependency 'pry', '~> 0.9.10'
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
@@ -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.2.2
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: 2012-07-14 00:00:00.000000000 Z
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: &70284073919060 !ruby/object:Gem::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: *70284073919060
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: pry-remote
27
- requirement: &70284073917940 !ruby/object:Gem::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.1.1
39
+ version: '0'
33
40
  type: :development
34
41
  prerelease: false
35
- version_requirements: *70284073917940
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
- - .gitignore
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
- post_install_message:
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.8.7
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
- rubyforge_project:
78
- rubygems_version: 1.8.11
79
- signing_key:
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