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 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