pry-byebug 3.3.0 → 3.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1d546d7bb0c6f46c48b3a640b5f03dd486116fad
4
- data.tar.gz: 08f05ab518a9b5c028c03532c34452cbfba30ef2
2
+ SHA256:
3
+ metadata.gz: 5a9be5ab97e10c1247774626e9dee655956d904dfcbdb0e601af7eabcee668a4
4
+ data.tar.gz: a151143361a89b102f85102c95c7b86a4743413822e69fefcf67087a93cd29cf
5
5
  SHA512:
6
- metadata.gz: 7d9004bb5febdc7a7f9f0a6631ead052479269576b607ca2c5f48032c3860471ce9d7cdfa41360b2978530dea7734e698cc8460ee1f1569559539ca5c4e1d069
7
- data.tar.gz: 5295c526616f549fdc98c49bc7601ca355acd7f8d7f7661924cf4fe286c62d7ca8e6785c87ab397d87ca8b5f25e2119000a2b40c27413360d7a8518e4e364af8
6
+ metadata.gz: 75a234974314f675ba12d4c435897541c40e63b67807f03239665c31f6ecef9b06a3456ba9d577b9d255e0b59efd55b9486280884c788519a63e783920226a7d
7
+ data.tar.gz: bc5e1fcc9a82f7ed703d9b9e6272e8f8026300398e4f9265f3e72e9d84d066fa861492ee2e7a6a35c91345444160bdf39bab957c6b638d9b33ab735059b722c9
data/CHANGELOG.md CHANGED
@@ -1,144 +1,214 @@
1
- ## 3.3.0 (2015-11-05)
1
+ # CHANGELOG
2
+
3
+ ## Master (Unreleased)
4
+
5
+ ## 3.9.0 (2020-03-21)
6
+
7
+ ### Fixed
8
+
9
+ * Dependency on pry being too loose. Now breaking minor releases of pry won't affect pry-byebug users (#289).
10
+
11
+ ### Added
12
+
13
+ * Support for pry 0.13.0 (#266).
14
+
15
+ ### Removed
16
+
17
+ * Support for pry older than 0.13.0 (#289).
18
+
19
+ ## 3.8.0 (2020-01-22)
20
+
21
+ ### Fixed
22
+
23
+ * Use `Binding#source_location` instead of evaluating `__FILE__` to avoid
24
+ warnings on Ruby 2.7 and on Ruby 2.6 in verbose mode (#221).
25
+
26
+ ### Removed
27
+
28
+ * Support for Ruby 2.3. Pry-byebug no longer installs on this platform.
29
+
30
+ ## 3.7.0 (2019-02-21)
31
+
32
+ * Byebug 11 compatibility, with ruby 2.6 support.
33
+
34
+ ## 3.6.0 (2018-02-07)
35
+
36
+ ### Added
37
+
38
+ * Byebug 10 compatibility, with ruby 2.5 support.
39
+
40
+ ## 3.5.1 (2017-11-27)
41
+
42
+ ### Fixed
43
+
44
+ * Allow other threads like Pry (#142).
45
+
46
+ ## 3.5.0 (2017-08-23)
47
+
48
+ ### Added
49
+
50
+ * Byebug 9.1 support. As a result, Ruby 2.0 & Ruby 2.1 support has been dropped.
51
+ Pry-byebug no longer installs on these platforms.
2
52
 
3
- - Improvements:
4
- * Up to date dependencies, including byebug 8.0 series.
5
- * Faster debugger thanks to @k0kubun (#80).
53
+ ## 3.4.3 (2017-08-22)
6
54
 
7
- - Bugfixes:
8
- * Fix encoding error in gemspec file (#70).
55
+ ### Fixed
9
56
 
57
+ * Installation on old rubies after byebug dropping support for them.
58
+
59
+ ## 3.4.2 (2016-12-06)
60
+
61
+ ### Fixed
62
+
63
+ * Byebug doesn't start after `disable-pry` command.
64
+
65
+ ## 3.4.1 (2016-11-22)
66
+
67
+ ### Fixed
68
+
69
+ * control_d handler not being required properly when `pry-byebug` loaded
70
+ as a `pry` plugin and not through explicit require.
71
+
72
+ ## 3.4.0 (2016-05-15)
73
+
74
+ ### Fixed
75
+
76
+ * Byebug 9 compatibility.
77
+
78
+ ### Added
79
+
80
+ * A new `backtrace` command.
81
+
82
+ ## 3.3.0 (2015-11-05)
83
+
84
+ ### Fixed
85
+
86
+ * Byebug 8 compatibility.
87
+ * Fix encoding error in gemspec file (#70).
88
+ * Debugger being too slow (#80, thanks @k0kubun).
10
89
 
11
90
  ## 3.2.0 (2015-07-18)
12
91
 
13
- - Improvements:
14
- * Allow continue to receive a line number argument (#56).
15
- * Refactorings + RuboCop.
16
- * Up to date dependencies.
92
+ ### Added
93
+
94
+ * `continue` can now receive a line number argument (#56).
17
95
 
18
- - Bugfixes:
19
- * Don't conflict with `break` and `next` Ruby keywords inside multiline
20
- statements (#44).
96
+ ### Fixed
21
97
 
22
- - Removals:
23
- * `breaks` command. It was broken anyways (#47).
98
+ * Conflicts with `break` and `next` Ruby keywords inside multiline statements
99
+ (#44).
24
100
 
101
+ ### Removed
102
+
103
+ * `breaks` command. It was broken anyways (#47).
25
104
 
26
105
  ## 3.1.0 (2015-04-14)
27
106
 
28
- - Improvements:
29
- * Add frame nav commands up, down and frame.
107
+ ### Added
30
108
 
109
+ * Frame navigation commands `up`, `down` and `frame`.
31
110
 
32
111
  ## 3.0.1 (2015-04-02)
33
112
 
34
- - Improvements:
35
- * Fix several formatting and alignment issues.
113
+ ### Fixed
36
114
 
115
+ * Several formatting and alignment issues.
37
116
 
38
117
  ## 3.0.0 (2015-02-02)
39
118
 
40
- - Improvements:
41
- * Adds RuboCop to enforce a consistent code style.
42
- * Several refactorings to keep code simpler.
119
+ ### Fixed
43
120
 
44
- - Bugfixes:
45
- * `binding.pry` would not stop at the correct place when called at the last
46
- line of a method/block.
121
+ * `binding.pry` would not stop at the correct place when called at the last
122
+ line of a method/block.
47
123
 
48
- - Removals:
49
- * Stepping aliases for `next` (`n`), `step` (`s`), `finish` (`f`) and
50
- `continue` (`c`). See #34.
124
+ ### Removed
51
125
 
126
+ * Stepping aliases for `next` (`n`), `step` (`s`), `finish` (`f`) and `continue`
127
+ (`c`). See #34.
52
128
 
53
129
  ## 2.0.0 (2014-01-09)
54
130
 
55
- - Improvements:
56
- * Compatibility with byebug 3
57
- * Now pry starts at the first line after binding.pry, not at binding.pry
58
- - Bugfixes:
59
- * 'continue' doesn't finish pry instance (issue #13)
131
+ ### Fixed
60
132
 
133
+ * Byebug 3 compatibility.
134
+ * Pry not starting at the first line after `binding.pry` but at `binding.pry`.
135
+ * `continue` not finishing pry instance (#13).
61
136
 
62
137
  ## 1.3.3 (2014-25-06)
63
138
 
64
- * Relaxes pry dependency to support pry 0.10 series and further minor version
65
- level releases.
139
+ ### Fixed
66
140
 
141
+ * Pry 0.10 series and further minor version level releases compatibility.
67
142
 
68
143
  ## 1.3.2 (2014-24-02)
69
144
 
70
- * Bumps byebug dependency to get rid of bug in byebug.
145
+ ### Fixed
71
146
 
147
+ * Bug inherited from `byebug`.
72
148
 
73
149
  ## 1.3.1 (2014-08-02)
74
150
 
75
- * Fix #22 (thanks @andreychernih)
151
+ ### Fixed
76
152
 
153
+ * Bug #22 (thanks @andreychernih).
77
154
 
78
155
  ## 1.3.0 (2014-05-02)
79
156
 
80
- * Add breakpoints on method names (thanks @andreychernih & @palkan)
81
- * Fix "undefined method `interface`" error (huge thanks to @andreychernih)
157
+ ### Added
158
+
159
+ * Breakpoints on method names (thanks @andreychernih & @palkan).
160
+
161
+ ### Fixed
82
162
 
163
+ * "Undefined method `interface`" error (huge thanks to @andreychernih).
83
164
 
84
165
  ## 1.2.1 (2013-30-12)
85
166
 
86
- * Fix for "uncaught throw :breakout_nav" (thanks @lukebergen)
167
+ ### Fixed
87
168
 
169
+ * "Uncaught throw :breakout_nav" error (thanks @lukebergen).
88
170
 
89
171
  ## 1.2.0 (2013-24-09)
90
172
 
91
- * Compatibility with byebug's 2.x series
173
+ ### Fixed
92
174
 
175
+ * Compatibility with byebug's 2.x series
93
176
 
94
177
  ## 1.1.2 (2013-11-07)
95
178
 
96
- * Allow pry-byebug to use backwards compatible versions of byebug
179
+ ### Fixed
97
180
 
181
+ * Compatibility with backwards compatible byebug versions.
98
182
 
99
183
  ## 1.1.1 (2013-02-07)
100
184
 
101
- * Adds some initial tests to the test suite
102
- * Fixes bug when doing "step n" or "next n" where n > 1 right after binding.pry
185
+ ### Fixed
103
186
 
187
+ * Bug when doing `step n` or `next n` where n > 1 right after `binding.pry`.
104
188
 
105
189
  ## 1.1.0 (2013-06-06)
106
190
 
107
- * Adds a test suite (thanks @teeparham!)
108
- * Uses byebug ~> 1.4.0
109
- * Uses s, n, f and c aliases by default (thanks @jgakos!)
110
-
111
-
112
- ## 1.0.0, 1.0.1 (2013-05-07)
113
-
114
- * Forked from [pry-debugger](https://github.com/nixme/pry-debugger) to support
115
- byebug
116
- * Dropped pry-remote support
117
-
191
+ ### Added
118
192
 
119
- ## 0.2.2 (2013-03-07)
193
+ * `s`, `n`, `f` and `c` aliases (thanks @jgakos!).
120
194
 
121
- * Relaxed [byebug][byebug] dependency.
195
+ ## 1.0.1 (2013-05-07)
122
196
 
197
+ ### Fixed
123
198
 
124
- ## 0.2.1 (2012-12-26)
199
+ * Unwanted debugging printf.
125
200
 
126
- * Support breakpoints on methods defined in the pry console. (@banister)
127
- * Fix support for specifying breakpoints by *file:line_number*. (@nviennot)
128
- * Validate breakpoint conditionals are real Ruby expressions.
129
- * Support for debugger ~> 1.2.0. (@jshou)
130
- * Safer `alias_method_chain`-style patching of `Pry.start` and
131
- `PryRemote::Server#teardown`. (@benizi)
201
+ ## 1.0.0 (2013-05-07)
132
202
 
203
+ ### Added
133
204
 
134
- ## 0.2.0 (2012-06-11)
205
+ * Initial release forked from
206
+ [pry-debugger](https://github.com/nixme/pry-debugger) to support byebug.
135
207
 
136
- * Breakpoints
137
- * **finish** command
138
- * Internal cleanup and bug fixes
208
+ ### Removed
139
209
 
210
+ * pry-remote support.
140
211
 
141
- ## 0.1.0 (2012-06-07)
212
+ ## Older releases
142
213
 
143
- * First release. **step**, **next**, and **continue** commands.
144
- [pry-remote 0.1.4][pry-remote] support.
214
+ * Check [pry-debugger](https://github.com/nixme/pry-debugger)'s CHANGELOG.
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- MIT/Expat License
1
+ MIT License
2
2
 
3
- Copyright (c) David Rodríguez <deivid.rodriguez@gmail.com>
3
+ Copyright (c) 2018 David Rodríguez <deivid.rodriguez@riseup.net>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/README.md CHANGED
@@ -1,14 +1,12 @@
1
1
  # pry-byebug
2
+
2
3
  [![Version][VersionBadge]][VersionURL]
3
- [![Build][TravisBadge]][TravisURL]
4
+ [![Build][CIBadge]][CIURL]
4
5
  [![Inline docs][InchCIBadge]][InchCIURL]
5
- [![Gittip][GittipBadge]][GittipURL]
6
6
  [![Coverage][CoverageBadge]][CoverageURL]
7
7
 
8
- _Fast execution control in Pry_
9
-
10
- Adds **step**, **next**, **finish** and **continue** commands and
11
- **breakpoints** to [Pry][pry] using [byebug][byebug].
8
+ Adds step-by-step debugging and stack navigation capabilities to [pry] using
9
+ [byebug].
12
10
 
13
11
  To use, invoke pry normally. No need to start your script or app differently.
14
12
  Execution will stop in the first statement after your `binding.pry`.
@@ -23,34 +21,32 @@ some_method # Execution will stop here.
23
21
  puts 'Goodbye World' # Run 'next' in the console to move here.
24
22
  ```
25
23
 
26
-
27
24
  ## Requirements
28
25
 
29
- * Required: MRI 2.0.0 or higher. For debugging ruby 1.9.3 or older, use
30
- [pry-debugger][].
31
-
32
- * Recommended:
33
- - MRI 2.1.7 or higher.
34
- - MRI 2.2.3 or higher.
35
-
26
+ MRI 2.4.0 or higher.
36
27
 
37
28
  ## Installation
38
29
 
39
- Drop
30
+ Add
40
31
 
41
32
  ```ruby
42
33
  gem 'pry-byebug'
43
34
  ```
44
35
 
45
- in your Gemfile and run
36
+ to your Gemfile and run
37
+
38
+ ```console
39
+ bundle install
40
+ ```
46
41
 
47
- bundle install
42
+ Make sure you include the gem globally or inside the `:test` group if you plan
43
+ to use it to debug your tests!
48
44
 
49
- _Make sure you include the gem globally or inside the `:test` group if you plan
50
- to use it to debug your tests!_
45
+ ## Commands
51
46
 
47
+ ### Step-by-step debugging
52
48
 
53
- ## Execution Commands
49
+ **break:** Manage breakpoints.
54
50
 
55
51
  **step:** Step execution into the next line or method. Takes an optional numeric
56
52
  argument to step multiple times.
@@ -62,6 +58,11 @@ optional numeric argument to step multiple lines.
62
58
 
63
59
  **continue:** Continue program execution and end the Pry session.
64
60
 
61
+ ### Callstack navigation
62
+
63
+ **backtrace:** Shows the current stack. You can use the numbers on the left
64
+ side with the `frame` command to navigate the stack.
65
+
65
66
  **up:** Moves the stack frame up. Takes an optional numeric argument to move
66
67
  multiple frames.
67
68
 
@@ -99,7 +100,6 @@ Pry::Commands.command /^$/, "repeat last command" do
99
100
  end
100
101
  ```
101
102
 
102
-
103
103
  ## Breakpoints
104
104
 
105
105
  You can set and adjust breakpoints directly from a Pry session using the
@@ -129,28 +129,64 @@ break --show 2 # Show details about breakpoint #2.
129
129
 
130
130
  Type `break --help` from a Pry session to see all available options.
131
131
 
132
+ ## Alternatives
133
+
134
+ Note that all of the alternatives here are incompatible with pry-byebug. If
135
+ your platform is supported by pry-byebug, you should remove any of the gems
136
+ mentioned here if they are present in your Gemfile.
137
+
138
+ * [pry-debugger]: Provides step-by-step debugging for MRI 1.9.3 or older
139
+ rubies. If you're still using those and need a step-by-step debugger to help
140
+ with the upgrade, pry-debugger can be handy.
141
+
142
+ * [pry-stack_explorer]: Provides stack navigation capabilities for MRI 1.9.3 or
143
+ older rubies. If you're still using those and need to navigate your stack to
144
+ help with the upgrade, pry-stack_explorer can be handy.
145
+
146
+ * [pry-nav]: Provides step-by-step debugging for JRuby.
147
+
148
+ ## Contribute
149
+
150
+ See [Getting Started with Development](CONTRIBUTING.md).
151
+
152
+ ## Funding
153
+
154
+ Subscribe to [Tidelift] to ensure pry-byebug stays actively maintained, and at
155
+ the same time get licensing assurances and timely security notifications for
156
+ your open source dependencies.
157
+
158
+ You can also help `pry-byebug` by leaving a small (or big) tip through [Liberapay].
159
+
160
+ [Tidelift]: https://tidelift.com/subscription/pkg/rubygems-pry-byebug?utm_source=rubygems-pry-byebug&utm_medium=referral&utm_campaign=readme
161
+ [Liberapay]: https://liberapay.com/pry-byebug/donate
162
+
163
+ ## Security contact information
164
+
165
+ Please use the Tidelift security contact to [report a security vulnerability].
166
+ Tidelift will coordinate the fix and disclosure.
167
+
168
+ [report a security vulnerability]: https://tidelift.com/security
132
169
 
133
170
  ## Credits
134
171
 
135
- * Gopal Patel (@nixme), creator of [pry-debugger][], and everybody who
136
- contributed to it. pry-byebug is a fork of pry-debugger so it wouldn't exist as
137
- it is without those contributions.
138
- * John Mair (@banister), creator of [pry][].
172
+ * Gopal Patel (@nixme), creator of [pry-debugger], and everybody who contributed
173
+ to it. pry-byebug is a fork of pry-debugger so it wouldn't exist as it is
174
+ without those contributions.
175
+ * John Mair (@banister), creator of [pry].
139
176
 
140
177
  Patches and bug reports are welcome.
141
178
 
142
179
  [pry]: http://pry.github.com
143
180
  [byebug]: https://github.com/deivid-rodriguez/byebug
144
181
  [pry-debugger]: https://github.com/nixme/pry-debugger
182
+ [pry-nav]: https://github.com/nixme/pry-nav
145
183
  [pry-stack_explorer]: https://github.com/pry/pry-stack_explorer
146
184
 
147
185
  [VersionBadge]: https://badge.fury.io/rb/pry-byebug.svg
148
186
  [VersionURL]: http://badge.fury.io/rb/pry-byebug
149
- [TravisBadge]: https://secure.travis-ci.org/deivid-rodriguez/pry-byebug.svg
150
- [TravisURL]: http://travis-ci.org/deivid-rodriguez/pry-byebug
187
+ [CIBadge]: https://github.com/deivid-rodriguez/pry-byebug/workflows/ubuntu/badge.svg?branch=master
188
+ [CIURL]: https://github.com/deivid-rodriguez/pry-byebug/actions?query=workflow%3Aubuntu
151
189
  [InchCIBadge]: http://inch-ci.org/github/deivid-rodriguez/pry-byebug.svg?branch=master
152
190
  [InchCIURL]: http://inch-ci.org/github/deivid-rodriguez/pry-byebug
153
- [GittipBadge]: http://img.shields.io/gittip/deivid-rodriguez.svg
154
- [GittipURL]: https://www.gittip.com/deivid-rodriguez
155
- [CoverageBadge]: https://img.shields.io/codeclimate/coverage/github/deivid-rodriguez/pry-byebug.svg
156
- [CoverageURL]: https://codeclimate.com/github/deivid-rodriguez/pry-byebug
191
+ [CoverageBadge]: https://api.codeclimate.com/v1/badges/a88e27809329c03af017/test_coverage
192
+ [CoverageURL]: https://codeclimate.com/github/deivid-rodriguez/pry-byebug/test_coverage
@@ -1,4 +1,6 @@
1
- require 'byebug/core'
1
+ # frozen_string_literal: true
2
+
3
+ require "byebug/core"
2
4
 
3
5
  module Byebug
4
6
  #
@@ -25,7 +27,7 @@ module Byebug
25
27
  return_value = nil
26
28
 
27
29
  command = catch(:breakout_nav) do # Throws from PryByebug::Commands
28
- return_value = yield
30
+ return_value = allowing_other_threads { yield }
29
31
  {} # Nothing thrown == no navigational command
30
32
  end
31
33
 
@@ -41,7 +43,15 @@ module Byebug
41
43
  # Set up a number of navigational commands to be performed by Byebug.
42
44
  #
43
45
  def perform(action, options = {})
44
- return unless %i(next step finish up down frame).include?(action)
46
+ return unless %i[
47
+ backtrace
48
+ down
49
+ finish
50
+ frame
51
+ next
52
+ step
53
+ up
54
+ ].include?(action)
45
55
 
46
56
  send("perform_#{action}", options)
47
57
  end
@@ -83,7 +93,7 @@ module Byebug
83
93
  expr = breakpoint.expr
84
94
  return unless expr
85
95
 
86
- output.puts bold('Condition: ') + expr
96
+ output.puts bold("Condition: ") + expr
87
97
  end
88
98
 
89
99
  private
@@ -91,7 +101,7 @@ module Byebug
91
101
  def n_hits(breakpoint)
92
102
  n_hits = breakpoint.hit_count
93
103
 
94
- n_hits == 1 ? 'First hit' : "Hit #{n_hits} times."
104
+ n_hits == 1 ? "First hit" : "Hit #{n_hits} times."
95
105
  end
96
106
 
97
107
  #
@@ -109,6 +119,12 @@ module Byebug
109
119
  end
110
120
  end
111
121
 
122
+ def perform_backtrace(_options)
123
+ Byebug::WhereCommand.new(self, "backtrace").execute
124
+
125
+ resume_pry
126
+ end
127
+
112
128
  def perform_next(options)
113
129
  lines = (options[:lines] || 1).to_i
114
130
  context.step_over(lines, frame.pos)
@@ -140,7 +156,7 @@ module Byebug
140
156
  end
141
157
 
142
158
  def perform_frame(options)
143
- index = options[:index] ? options[:index].to_i : ''
159
+ index = options[:index] ? options[:index].to_i : ""
144
160
 
145
161
  Byebug::FrameCommand.new(self, "frame #{index}").execute
146
162
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Pry
2
4
  module Byebug
3
5
  #
@@ -60,7 +62,8 @@ class Pry
60
62
  #
61
63
  def add_file(file, line, expression = nil)
62
64
  real_file = (file != Pry.eval_path)
63
- fail(ArgumentError, 'Invalid file!') if real_file && !File.exist?(file)
65
+ raise(ArgumentError, "Invalid file!") if real_file && !File.exist?(file)
66
+
64
67
  validate_expression expression
65
68
 
66
69
  path = (real_file ? File.expand_path(file) : file)
@@ -85,11 +88,10 @@ class Pry
85
88
  #
86
89
  def delete(id)
87
90
  deleted =
88
- ::Byebug.started? &&
89
91
  ::Byebug::Breakpoint.remove(id) &&
90
92
  breakpoints.delete(find_by_id(id))
91
93
 
92
- fail(ArgumentError, "No breakpoint ##{id}") unless deleted
94
+ raise(ArgumentError, "No breakpoint ##{id}") unless deleted
93
95
  end
94
96
 
95
97
  #
@@ -97,7 +99,7 @@ class Pry
97
99
  #
98
100
  def delete_all
99
101
  @breakpoints = []
100
- ::Byebug.breakpoints.clear if ::Byebug.started?
102
+ ::Byebug.breakpoints.clear
101
103
  end
102
104
 
103
105
  #
@@ -141,7 +143,8 @@ class Pry
141
143
 
142
144
  def find_by_id(id)
143
145
  breakpoint = find { |b| b.id == id }
144
- fail(ArgumentError, "No breakpoint ##{id}!") unless breakpoint
146
+ raise(ArgumentError, "No breakpoint ##{id}!") unless breakpoint
147
+
145
148
  breakpoint
146
149
  end
147
150
 
@@ -157,7 +160,7 @@ class Pry
157
160
  valid = exp && (exp.empty? || !Pry::Code.complete_expression?(exp))
158
161
  return unless valid
159
162
 
160
- fail("Invalid breakpoint conditional: #{expression}")
163
+ raise("Invalid breakpoint conditional: #{expression}")
161
164
  end
162
165
  end
163
166
  end
@@ -1,25 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/location"
4
+
1
5
  #
2
6
  # Main container module for Pry-Byebug functionality
3
7
  #
4
8
  module PryByebug
9
+ # Reference to currently running pry-remote server. Used by the processor.
10
+ attr_accessor :current_remote_server
11
+
12
+ module_function
13
+
5
14
  #
6
15
  # Checks that a target binding is in a local file context.
7
16
  #
8
17
  def file_context?(target)
9
- file = target.eval('__FILE__')
18
+ file = Helpers::Location.current_file(target)
10
19
  file == Pry.eval_path || !Pry::Helpers::BaseHelpers.not_a_real_file?(file)
11
20
  end
12
- module_function :file_context?
13
21
 
14
22
  #
15
23
  # Ensures that a command is executed in a local file context.
16
24
  #
17
- def check_file_context(target, e = nil)
18
- e ||= 'Cannot find local context. Did you use `binding.pry`?'
19
- fail(Pry::CommandError, e) unless file_context?(target)
25
+ def check_file_context(target, msg = nil)
26
+ msg ||= "Cannot find local context. Did you use `binding.pry`?"
27
+ raise(Pry::CommandError, msg) unless file_context?(target)
20
28
  end
21
- module_function :check_file_context
22
-
23
- # Reference to currently running pry-remote server. Used by the processor.
24
- attr_accessor :current_remote_server
25
29
  end
@@ -1,3 +1,6 @@
1
- require 'pry-byebug/base'
2
- require 'pry-byebug/pry_ext'
3
- require 'pry-byebug/commands'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/base"
4
+ require "pry-byebug/pry_ext"
5
+ require "pry-byebug/commands"
6
+ require "pry-byebug/control_d_handler"
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
4
+
5
+ module PryByebug
6
+ #
7
+ # Display the current stack
8
+ #
9
+ class BacktraceCommand < Pry::ClassCommand
10
+ include Helpers::Navigation
11
+
12
+ match "backtrace"
13
+ group "Byebug"
14
+
15
+ description "Display the current stack."
16
+
17
+ banner <<-BANNER
18
+ Usage: backtrace
19
+
20
+ Display the current stack.
21
+ BANNER
22
+
23
+ def process
24
+ PryByebug.check_file_context(target)
25
+
26
+ breakout_navigation :backtrace
27
+ end
28
+ end
29
+ end
30
+
31
+ Pry::Commands.add_command(PryByebug::BacktraceCommand)
@@ -1,6 +1,9 @@
1
- require 'pry/byebug/breakpoints'
2
- require 'pry-byebug/helpers/breakpoints'
3
- require 'pry-byebug/helpers/multiline'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry/byebug/breakpoints"
4
+ require "pry-byebug/helpers/breakpoints"
5
+ require "pry-byebug/helpers/location"
6
+ require "pry-byebug/helpers/multiline"
4
7
 
5
8
  module PryByebug
6
9
  #
@@ -8,11 +11,12 @@ module PryByebug
8
11
  #
9
12
  class BreakCommand < Pry::ClassCommand
10
13
  include Helpers::Breakpoints
14
+ include Helpers::Location
11
15
  include Helpers::Multiline
12
16
 
13
- match 'break'
14
- group 'Byebug'
15
- description 'Set or edit a breakpoint.'
17
+ match "break"
18
+ group "Byebug"
19
+ description "Set or edit a breakpoint."
16
20
 
17
21
  banner <<-BANNER
18
22
  Usage: break <METHOD | FILE:LINE | LINE> [if CONDITION]
@@ -46,13 +50,13 @@ module PryByebug
46
50
  def options(opt)
47
51
  defaults = { argument: true, as: Integer }
48
52
 
49
- opt.on :c, :condition, 'Change condition of a breakpoint.', defaults
50
- opt.on :s, :show, 'Show breakpoint details and source.', defaults
51
- opt.on :D, :delete, 'Delete a breakpoint.', defaults
52
- opt.on :d, :disable, 'Disable a breakpoint.', defaults
53
- opt.on :e, :enable, 'Enable a disabled breakpoint.', defaults
54
- opt.on :'disable-all', 'Disable all breakpoints.'
55
- opt.on :'delete-all', 'Delete all breakpoints.'
53
+ opt.on :c, :condition, "Change condition of a breakpoint.", defaults
54
+ opt.on :s, :show, "Show breakpoint details and source.", defaults
55
+ opt.on :D, :delete, "Delete a breakpoint.", defaults
56
+ opt.on :d, :disable, "Disable a breakpoint.", defaults
57
+ opt.on :e, :enable, "Enable a disabled breakpoint.", defaults
58
+ opt.on :'disable-all', "Disable all breakpoints."
59
+ opt.on :'delete-all', "Delete all breakpoints."
56
60
  end
57
61
 
58
62
  def process
@@ -70,7 +74,7 @@ module PryByebug
70
74
 
71
75
  private
72
76
 
73
- %w(delete disable enable disable_all delete_all).each do |command|
77
+ %w[delete disable enable disable_all delete_all].each do |command|
74
78
  define_method(:"process_#{command}") do
75
79
  breakpoints.send(*[command, opts[command]].compact)
76
80
  print_all
@@ -82,13 +86,13 @@ module PryByebug
82
86
  end
83
87
 
84
88
  def process_condition
85
- expr = args.empty? ? nil : args.join(' ')
89
+ expr = args.empty? ? nil : args.join(" ")
86
90
  breakpoints.change(opts[:condition], expr)
87
91
  end
88
92
 
89
93
  def new_breakpoint
90
94
  place = args.shift
91
- condition = args.join(' ') if 'if' == args.shift
95
+ condition = args.join(" ") if args.shift == "if"
92
96
 
93
97
  bp = add_breakpoint(place, condition)
94
98
 
@@ -107,7 +111,7 @@ module PryByebug
107
111
  def add_breakpoint(place, condition)
108
112
  case place
109
113
  when /^(\d+)$/
110
- errmsg = 'Line number declaration valid only in a file context.'
114
+ errmsg = "Line number declaration valid only in a file context."
111
115
  PryByebug.check_file_context(target, errmsg)
112
116
 
113
117
  lineno = Regexp.last_match[1].to_i
@@ -118,13 +122,13 @@ module PryByebug
118
122
  breakpoints.add_file(file, lineno, condition)
119
123
  when /^(.*)[.#].+$/ # Method or class name
120
124
  if Regexp.last_match[1].strip.empty?
121
- errmsg = 'Method name declaration valid only in a file context.'
125
+ errmsg = "Method name declaration valid only in a file context."
122
126
  PryByebug.check_file_context(target, errmsg)
123
- place = target.eval('self.class.to_s') + place
127
+ place = target.eval("self.class.to_s") + place
124
128
  end
125
129
  breakpoints.add_method(place, condition)
126
130
  else
127
- fail(ArgumentError, 'Cannot identify arguments as breakpoint')
131
+ raise(ArgumentError, "Cannot identify arguments as breakpoint")
128
132
  end
129
133
  end
130
134
  end
@@ -1,5 +1,8 @@
1
- require 'pry-byebug/helpers/navigation'
2
- require 'pry-byebug/helpers/breakpoints'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
4
+ require "pry-byebug/helpers/breakpoints"
5
+ require "pry-byebug/helpers/location"
3
6
 
4
7
  module PryByebug
5
8
  #
@@ -8,10 +11,11 @@ module PryByebug
8
11
  class ContinueCommand < Pry::ClassCommand
9
12
  include Helpers::Navigation
10
13
  include Helpers::Breakpoints
14
+ include Helpers::Location
11
15
 
12
- match 'continue'
13
- group 'Byebug'
14
- description 'Continue program execution and end the Pry session.'
16
+ match "continue"
17
+ group "Byebug"
18
+ description "Continue program execution and end the Pry session."
15
19
 
16
20
  banner <<-BANNER
17
21
  Usage: continue [LINE]
@@ -1,4 +1,6 @@
1
- require 'pry-byebug/helpers/navigation'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
2
4
 
3
5
  module PryByebug
4
6
  #
@@ -7,10 +9,10 @@ module PryByebug
7
9
  class DownCommand < Pry::ClassCommand
8
10
  include Helpers::Navigation
9
11
 
10
- match 'down'
11
- group 'Byebug'
12
+ match "down"
13
+ group "Byebug"
12
14
 
13
- description 'Move current frame down.'
15
+ description "Move current frame down."
14
16
 
15
17
  banner <<-BANNER
16
18
  Usage: down [TIMES]
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pry/commands/exit_all"
4
+
1
5
  module PryByebug
2
6
  #
3
7
  # Exit pry REPL with Byebug.stop
@@ -1,4 +1,6 @@
1
- require 'pry-byebug/helpers/navigation'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
2
4
 
3
5
  module PryByebug
4
6
  #
@@ -7,9 +9,9 @@ module PryByebug
7
9
  class FinishCommand < Pry::ClassCommand
8
10
  include PryByebug::Helpers::Navigation
9
11
 
10
- match 'finish'
11
- group 'Byebug'
12
- description 'Execute until current stack frame returns.'
12
+ match "finish"
13
+ group "Byebug"
14
+ description "Execute until current stack frame returns."
13
15
 
14
16
  banner <<-BANNER
15
17
  Usage: finish
@@ -1,4 +1,6 @@
1
- require 'pry-byebug/helpers/navigation'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
2
4
 
3
5
  module PryByebug
4
6
  #
@@ -7,10 +9,10 @@ module PryByebug
7
9
  class FrameCommand < Pry::ClassCommand
8
10
  include Helpers::Navigation
9
11
 
10
- match 'frame'
11
- group 'Byebug'
12
+ match "frame"
13
+ group "Byebug"
12
14
 
13
- description 'Move to specified frame #.'
15
+ description "Move to specified frame #."
14
16
 
15
17
  banner <<-BANNER
16
18
  Usage: frame [TIMES]
@@ -20,7 +22,7 @@ module PryByebug
20
22
  Examples:
21
23
  frame #=> Show current frame #.
22
24
  frame 5 #=> Move to frame 5.
23
- BANNER
25
+ BANNER
24
26
 
25
27
  def process
26
28
  PryByebug.check_file_context(target)
@@ -1,5 +1,7 @@
1
- require 'pry-byebug/helpers/navigation'
2
- require 'pry-byebug/helpers/multiline'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
4
+ require "pry-byebug/helpers/multiline"
3
5
 
4
6
  module PryByebug
5
7
  #
@@ -9,9 +11,9 @@ module PryByebug
9
11
  include Helpers::Navigation
10
12
  include Helpers::Multiline
11
13
 
12
- match 'next'
13
- group 'Byebug'
14
- description 'Execute the next line within the current stack frame.'
14
+ match "next"
15
+ group "Byebug"
16
+ description "Execute the next line within the current stack frame."
15
17
 
16
18
  banner <<-BANNER
17
19
  Usage: next [LINES]
@@ -1,4 +1,6 @@
1
- require 'pry-byebug/helpers/navigation'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
2
4
 
3
5
  module PryByebug
4
6
  #
@@ -7,9 +9,9 @@ module PryByebug
7
9
  class StepCommand < Pry::ClassCommand
8
10
  include Helpers::Navigation
9
11
 
10
- match 'step'
11
- group 'Byebug'
12
- description 'Step execution into the next line or method.'
12
+ match "step"
13
+ group "Byebug"
14
+ description "Step execution into the next line or method."
13
15
 
14
16
  banner <<-BANNER
15
17
  Usage: step [TIMES]
@@ -19,7 +21,7 @@ module PryByebug
19
21
  Examples:
20
22
  step #=> Move a single step forward.
21
23
  step 5 #=> Execute the next 5 steps.
22
- BANNER
24
+ BANNER
23
25
 
24
26
  def process
25
27
  PryByebug.check_file_context(target)
@@ -1,4 +1,6 @@
1
- require 'pry-byebug/helpers/navigation'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/helpers/navigation"
2
4
 
3
5
  module PryByebug
4
6
  #
@@ -7,10 +9,10 @@ module PryByebug
7
9
  class UpCommand < Pry::ClassCommand
8
10
  include Helpers::Navigation
9
11
 
10
- match 'up'
11
- group 'Byebug'
12
+ match "up"
13
+ group "Byebug"
12
14
 
13
- description 'Move current frame up.'
15
+ description "Move current frame up."
14
16
 
15
17
  banner <<-BANNER
16
18
  Usage: up [TIMES]
@@ -1,9 +1,12 @@
1
- require 'pry-byebug/commands/next'
2
- require 'pry-byebug/commands/step'
3
- require 'pry-byebug/commands/continue'
4
- require 'pry-byebug/commands/finish'
5
- require 'pry-byebug/commands/up'
6
- require 'pry-byebug/commands/down'
7
- require 'pry-byebug/commands/frame'
8
- require 'pry-byebug/commands/breakpoint'
9
- require 'pry-byebug/commands/exit_all'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-byebug/commands/backtrace"
4
+ require "pry-byebug/commands/next"
5
+ require "pry-byebug/commands/step"
6
+ require "pry-byebug/commands/continue"
7
+ require "pry-byebug/commands/finish"
8
+ require "pry-byebug/commands/up"
9
+ require "pry-byebug/commands/down"
10
+ require "pry-byebug/commands/frame"
11
+ require "pry-byebug/commands/breakpoint"
12
+ require "pry-byebug/commands/exit_all"
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  original_handler = Pry.config.control_d_handler
2
4
 
3
- Pry.config.control_d_handler = proc do |eval_string, pry_|
5
+ Pry.config.control_d_handler = proc do |pry_instance|
4
6
  Byebug.stop if Byebug.stoppable?
5
7
 
6
- original_handler.call(eval_string, pry_)
8
+ original_handler.call(pry_instance)
7
9
  end
@@ -1,4 +1,6 @@
1
- require 'byebug'
1
+ # frozen_string_literal: true
2
+
3
+ require "byebug"
2
4
 
3
5
  module PryByebug
4
6
  module Helpers
@@ -13,19 +15,11 @@ module PryByebug
13
15
  Pry::Byebug::Breakpoints
14
16
  end
15
17
 
16
- #
17
- # Current file in the target binding. Used as the default breakpoint
18
- # location.
19
- #
20
- def current_file
21
- target.eval('__FILE__')
22
- end
23
-
24
18
  #
25
19
  # Prints a message with bold font.
26
20
  #
27
21
  def bold_puts(msg)
28
- output.puts(text.bold(msg))
22
+ output.puts(bold(msg))
29
23
  end
30
24
 
31
25
  #
@@ -33,28 +27,32 @@ module PryByebug
33
27
  #
34
28
  # Includes surrounding code at that point.
35
29
  #
36
- def print_full_breakpoint(br)
37
- header = "Breakpoint #{br.id}:"
38
- status = br.enabled? ? 'Enabled' : 'Disabled'
39
- code = br.source_code.with_line_numbers.to_s
40
- condition = br.expr ? "#{text.bold('Condition:')} #{br.expr}\n" : ''
30
+ def print_full_breakpoint(breakpoint)
31
+ header = "Breakpoint #{breakpoint.id}:"
32
+ status = breakpoint.enabled? ? "Enabled" : "Disabled"
33
+ code = breakpoint.source_code.with_line_numbers.to_s
34
+ condition = if breakpoint.expr
35
+ "#{bold('Condition:')} #{breakpoint.expr}\n"
36
+ else
37
+ ""
38
+ end
41
39
 
42
- output.puts <<-EOP.gsub(/ {8}/, '')
40
+ output.puts <<-BREAKPOINT.gsub(/ {8}/, "")
43
41
 
44
- #{text.bold(header)} #{br} (#{status}) #{condition}
42
+ #{bold(header)} #{breakpoint} (#{status}) #{condition}
45
43
 
46
44
  #{code}
47
45
 
48
- EOP
46
+ BREAKPOINT
49
47
  end
50
48
 
51
49
  #
52
50
  # Print out concise information about a breakpoint.
53
51
  #
54
52
  def print_short_breakpoint(breakpoint)
55
- id = format('%*d', max_width, breakpoint.id)
56
- status = breakpoint.enabled? ? 'Yes' : 'No '
57
- expr = breakpoint.expr ? " #{breakpoint.expr} " : ''
53
+ id = format("%*d", max_width, breakpoint.id)
54
+ status = breakpoint.enabled? ? "Yes" : "No "
55
+ expr = breakpoint.expr ? " #{breakpoint.expr} " : ""
58
56
 
59
57
  output.puts(" #{id} #{status} #{breakpoint}#{expr}")
60
58
  end
@@ -65,12 +63,12 @@ module PryByebug
65
63
  def print_breakpoints_header
66
64
  header = "#{' ' * (max_width - 1)}# Enabled At "
67
65
 
68
- output.puts <<-EOP.gsub(/ {8}/, '')
66
+ output.puts <<-BREAKPOINTS.gsub(/ {8}/, "")
69
67
 
70
- #{text.bold(header)}
71
- #{text.bold('-' * header.size)}
68
+ #{bold(header)}
69
+ #{bold('-' * header.size)}
72
70
 
73
- EOP
71
+ BREAKPOINTS
74
72
  end
75
73
 
76
74
  #
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PryByebug
4
+ module Helpers
5
+ #
6
+ # Compatibility helper to handle source location
7
+ #
8
+ module Location
9
+ module_function
10
+
11
+ #
12
+ # Current file in the target binding. Used as the default breakpoint
13
+ # location.
14
+ #
15
+ def current_file(source = target)
16
+ # Guard clause for Ruby >= 2.6 providing now Binding#source_location ...
17
+ return source.source_location[0] if source.respond_to?(:source_location)
18
+
19
+ # ... to avoid warning: 'eval may not return location in binding'
20
+ source.eval("__FILE__")
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PryByebug
2
4
  module Helpers
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PryByebug
2
4
  module Helpers
3
5
  #
@@ -8,9 +10,9 @@ module PryByebug
8
10
  # Breaks out of the REPL loop and signals tracer
9
11
  #
10
12
  def breakout_navigation(action, options = {})
11
- _pry_.binding_stack.clear
13
+ pry_instance.binding_stack.clear
12
14
 
13
- throw :breakout_nav, action: action, options: options, pry: _pry_
15
+ throw :breakout_nav, action: action, options: options, pry: pry_instance
14
16
  end
15
17
  end
16
18
  end
@@ -1,16 +1,18 @@
1
- require 'byebug/processors/pry_processor'
1
+ # frozen_string_literal: true
2
+
3
+ require "byebug/processors/pry_processor"
2
4
 
3
5
  class << Pry
4
- alias_method :start_without_pry_byebug, :start
6
+ alias start_without_pry_byebug start
5
7
 
6
8
  def start_with_pry_byebug(target = TOPLEVEL_BINDING, options = {})
7
9
  if target.is_a?(Binding) && PryByebug.file_context?(target)
8
- Byebug::PryProcessor.start
10
+ Byebug::PryProcessor.start unless ENV["DISABLE_PRY"]
9
11
  else
10
12
  # No need for the tracer unless we have a file context to step through
11
13
  start_without_pry_byebug(target, options)
12
14
  end
13
15
  end
14
16
 
15
- alias_method :start, :start_with_pry_byebug
17
+ alias start start_with_pry_byebug
16
18
  end
@@ -1,4 +1,6 @@
1
- require 'pry-remote'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry-remote"
2
4
 
3
5
  module PryRemote
4
6
  #
@@ -10,7 +12,7 @@ module PryRemote
10
12
  # teardown the server right after Pry.start finishes.
11
13
  #
12
14
  def run
13
- fail('Already running a pry-remote session!') if
15
+ raise("Already running a pry-remote session!") if
14
16
  PryByebug.current_remote_server
15
17
 
16
18
  PryByebug.current_remote_server = self
@@ -22,7 +24,7 @@ module PryRemote
22
24
  #
23
25
  # Override to reset our saved global current server session.
24
26
  #
25
- alias_method :teardown_without_pry_byebug, :teardown
27
+ alias teardown_without_pry_byebug teardown
26
28
  def teardown_with_pry_byebug
27
29
  return if @torn
28
30
 
@@ -30,7 +32,7 @@ module PryRemote
30
32
  PryByebug.current_remote_server = nil
31
33
  @torn = true
32
34
  end
33
- alias_method :teardown, :teardown_with_pry_byebug
35
+ alias teardown teardown_with_pry_byebug
34
36
  end
35
37
  end
36
38
 
@@ -38,5 +40,5 @@ end
38
40
  # 'next' on the last line of a program won't hit Byebug::PryProcessor#run,
39
41
  # which normally handles cleanup.
40
42
  at_exit do
41
- PryByebug.current_remote_server.teardown if PryByebug.current_remote_server
43
+ PryByebug.current_remote_server&.teardown
42
44
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #
2
4
  # Main container module for Pry-Byebug functionality
3
5
  #
4
6
  module PryByebug
5
- VERSION = '3.3.0'
7
+ VERSION = "3.9.0"
6
8
  end
data/lib/pry-byebug.rb CHANGED
@@ -1,5 +1,4 @@
1
- require 'pry'
2
- require 'pry-byebug/base'
3
- require 'pry-byebug/pry_ext'
4
- require 'pry-byebug/commands'
5
- require 'pry-byebug/control_d_handler'
1
+ # frozen_string_literal: true
2
+
3
+ require "pry"
4
+ require "pry-byebug/cli"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-byebug
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodríguez
@@ -9,36 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-05 00:00:00.000000000 Z
12
+ date: 2020-03-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: pry
15
+ name: byebug
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0.10'
20
+ version: '11.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0.10'
27
+ version: '11.0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: byebug
29
+ name: pry
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '8.0'
34
+ version: 0.13.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '8.0'
41
+ version: 0.13.0
42
42
  description: |-
43
43
  Combine 'pry' with 'byebug'. Adds 'step', 'next', 'finish',
44
44
  'continue' and 'break' commands to control execution.
@@ -57,6 +57,7 @@ files:
57
57
  - lib/pry-byebug/base.rb
58
58
  - lib/pry-byebug/cli.rb
59
59
  - lib/pry-byebug/commands.rb
60
+ - lib/pry-byebug/commands/backtrace.rb
60
61
  - lib/pry-byebug/commands/breakpoint.rb
61
62
  - lib/pry-byebug/commands/continue.rb
62
63
  - lib/pry-byebug/commands/down.rb
@@ -68,6 +69,7 @@ files:
68
69
  - lib/pry-byebug/commands/up.rb
69
70
  - lib/pry-byebug/control_d_handler.rb
70
71
  - lib/pry-byebug/helpers/breakpoints.rb
72
+ - lib/pry-byebug/helpers/location.rb
71
73
  - lib/pry-byebug/helpers/multiline.rb
72
74
  - lib/pry-byebug/helpers/navigation.rb
73
75
  - lib/pry-byebug/pry_ext.rb
@@ -86,15 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
88
  requirements:
87
89
  - - ">="
88
90
  - !ruby/object:Gem::Version
89
- version: 2.0.0
91
+ version: 2.4.0
90
92
  required_rubygems_version: !ruby/object:Gem::Requirement
91
93
  requirements:
92
94
  - - ">="
93
95
  - !ruby/object:Gem::Version
94
96
  version: '0'
95
97
  requirements: []
96
- rubyforge_project:
97
- rubygems_version: 2.4.5.1
98
+ rubygems_version: 3.2.0.pre1
98
99
  signing_key:
99
100
  specification_version: 4
100
101
  summary: Fast debugging with Pry.