pry-byebug 3.3.0 → 3.4.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
2
  SHA1:
3
- metadata.gz: 1d546d7bb0c6f46c48b3a640b5f03dd486116fad
4
- data.tar.gz: 08f05ab518a9b5c028c03532c34452cbfba30ef2
3
+ metadata.gz: b7ccdf30b01d3da08853340f1ebcfece6fa15f37
4
+ data.tar.gz: fd2d3a518fc219cba6127cea742feb72f1bd7d17
5
5
  SHA512:
6
- metadata.gz: 7d9004bb5febdc7a7f9f0a6631ead052479269576b607ca2c5f48032c3860471ce9d7cdfa41360b2978530dea7734e698cc8460ee1f1569559539ca5c4e1d069
7
- data.tar.gz: 5295c526616f549fdc98c49bc7601ca355acd7f8d7f7661924cf4fe286c62d7ca8e6785c87ab397d87ca8b5f25e2119000a2b40c27413360d7a8518e4e364af8
6
+ metadata.gz: ba6de59e8732c7a8d6cdf5f3f46b3d5803c4d75c04ea7e1d934680d926516021dc06928b043587aca86cdeaad035c847417eeffe0394bf361419ee8988ad68d0
7
+ data.tar.gz: cc83d46530c56cf1ecf12581271fc66709570813f22406b0a293c704093f826107a2d091f34f9aec10d608739f883baa96a3cd4cc9af32057c23301d91743622
@@ -1,144 +1,147 @@
1
- ## 3.3.0 (2015-11-05)
1
+ # CHANGELOG
2
+
3
+ ## Master (Unreleased)
4
+
5
+ ## 3.4.0 (2016-05-15)
2
6
 
3
- - Improvements:
4
- * Up to date dependencies, including byebug 8.0 series.
5
- * Faster debugger thanks to @k0kubun (#80).
7
+ ### Fixed
6
8
 
7
- - Bugfixes:
8
- * Fix encoding error in gemspec file (#70).
9
+ * Byebug 9 compatibility.
9
10
 
11
+ ### Added
12
+
13
+ * A new `backtrace` command.
14
+
15
+ ## 3.3.0 (2015-11-05)
16
+
17
+ ### Fixed
18
+
19
+ * Byebug 8 compatibility.
20
+ * Fix encoding error in gemspec file (#70).
21
+ * Debugger being too slow (#80, thanks @k0kubun).
10
22
 
11
23
  ## 3.2.0 (2015-07-18)
12
24
 
13
- - Improvements:
14
- * Allow continue to receive a line number argument (#56).
15
- * Refactorings + RuboCop.
16
- * Up to date dependencies.
25
+ ### Added
26
+
27
+ * `continue` can now receive a line number argument (#56).
17
28
 
18
- - Bugfixes:
19
- * Don't conflict with `break` and `next` Ruby keywords inside multiline
20
- statements (#44).
29
+ ### Fixed
21
30
 
22
- - Removals:
23
- * `breaks` command. It was broken anyways (#47).
31
+ * Conflicts with `break` and `next` Ruby keywords inside multiline statements
32
+ (#44).
24
33
 
34
+ ### Removed
35
+
36
+ * `breaks` command. It was broken anyways (#47).
25
37
 
26
38
  ## 3.1.0 (2015-04-14)
27
39
 
28
- - Improvements:
29
- * Add frame nav commands up, down and frame.
40
+ ### Added
30
41
 
42
+ * Frame navigation commands `up`, `down` and `frame`.
31
43
 
32
44
  ## 3.0.1 (2015-04-02)
33
45
 
34
- - Improvements:
35
- * Fix several formatting and alignment issues.
46
+ ### Fixed
36
47
 
48
+ * Several formatting and alignment issues.
37
49
 
38
50
  ## 3.0.0 (2015-02-02)
39
51
 
40
- - Improvements:
41
- * Adds RuboCop to enforce a consistent code style.
42
- * Several refactorings to keep code simpler.
52
+ ### Fixed
43
53
 
44
- - Bugfixes:
45
- * `binding.pry` would not stop at the correct place when called at the last
46
- line of a method/block.
54
+ * `binding.pry` would not stop at the correct place when called at the last
55
+ line of a method/block.
47
56
 
48
- - Removals:
49
- * Stepping aliases for `next` (`n`), `step` (`s`), `finish` (`f`) and
50
- `continue` (`c`). See #34.
57
+ ### Removed
51
58
 
59
+ * Stepping aliases for `next` (`n`), `step` (`s`), `finish` (`f`) and `continue`
60
+ (`c`). See #34.
52
61
 
53
62
  ## 2.0.0 (2014-01-09)
54
63
 
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)
64
+ ### Fixed
60
65
 
66
+ * Byebug 3 compatibility.
67
+ * Pry not starting at the first line after `binding.pry` but at `binding.pry`.
68
+ * `continue` not finishing pry instance (#13).
61
69
 
62
70
  ## 1.3.3 (2014-25-06)
63
71
 
64
- * Relaxes pry dependency to support pry 0.10 series and further minor version
65
- level releases.
72
+ ### Fixed
66
73
 
74
+ * Pry 0.10 series and further minor version level releases compatibility.
67
75
 
68
76
  ## 1.3.2 (2014-24-02)
69
77
 
70
- * Bumps byebug dependency to get rid of bug in byebug.
78
+ ### Fixed
71
79
 
80
+ * Bug inherited from `byebug`.
72
81
 
73
82
  ## 1.3.1 (2014-08-02)
74
83
 
75
- * Fix #22 (thanks @andreychernih)
84
+ ### Fixed
76
85
 
86
+ * Bug #22 (thanks @andreychernih).
77
87
 
78
88
  ## 1.3.0 (2014-05-02)
79
89
 
80
- * Add breakpoints on method names (thanks @andreychernih & @palkan)
81
- * Fix "undefined method `interface`" error (huge thanks to @andreychernih)
90
+ ### Added
91
+
92
+ * Breakpoints on method names (thanks @andreychernih & @palkan).
93
+
94
+ ### Fixed
82
95
 
96
+ * "Undefined method `interface`" error (huge thanks to @andreychernih).
83
97
 
84
98
  ## 1.2.1 (2013-30-12)
85
99
 
86
- * Fix for "uncaught throw :breakout_nav" (thanks @lukebergen)
100
+ ### Fixed
87
101
 
102
+ * "Uncaught throw :breakout_nav" error (thanks @lukebergen).
88
103
 
89
104
  ## 1.2.0 (2013-24-09)
90
105
 
91
- * Compatibility with byebug's 2.x series
106
+ ### Fixed
92
107
 
108
+ * Compatibility with byebug's 2.x series
93
109
 
94
110
  ## 1.1.2 (2013-11-07)
95
111
 
96
- * Allow pry-byebug to use backwards compatible versions of byebug
112
+ ### Fixed
97
113
 
114
+ * Compatibility with backwards compatible byebug versions.
98
115
 
99
116
  ## 1.1.1 (2013-02-07)
100
117
 
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
118
+ ### Fixed
103
119
 
120
+ * Bug when doing `step n` or `next n` where n > 1 right after `binding.pry`.
104
121
 
105
122
  ## 1.1.0 (2013-06-06)
106
123
 
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
-
124
+ ### Added
118
125
 
119
- ## 0.2.2 (2013-03-07)
126
+ * `s`, `n`, `f` and `c` aliases (thanks @jgakos!).
120
127
 
121
- * Relaxed [byebug][byebug] dependency.
128
+ ## 1.0.1 (2013-05-07)
122
129
 
130
+ ### Fixed
123
131
 
124
- ## 0.2.1 (2012-12-26)
132
+ * Unwanted debugging printf.
125
133
 
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)
134
+ ## 1.0.0 (2013-05-07)
132
135
 
136
+ ### Added
133
137
 
134
- ## 0.2.0 (2012-06-11)
138
+ * Initial release forked from
139
+ [pry-debugger](https://github.com/nixme/pry-debugger) to support byebug.
135
140
 
136
- * Breakpoints
137
- * **finish** command
138
- * Internal cleanup and bug fixes
141
+ ### Removed
139
142
 
143
+ * pry-remote support.
140
144
 
141
- ## 0.1.0 (2012-06-07)
145
+ ## Older releases
142
146
 
143
- * First release. **step**, **next**, and **continue** commands.
144
- [pry-remote 0.1.4][pry-remote] support.
147
+ * Check [pry-debugger](https://github.com/nixme/pry-debugger)'s CHANGELOG.
data/README.md CHANGED
@@ -1,14 +1,13 @@
1
1
  # pry-byebug
2
+
2
3
  [![Version][VersionBadge]][VersionURL]
3
4
  [![Build][TravisBadge]][TravisURL]
4
5
  [![Inline docs][InchCIBadge]][InchCIURL]
5
6
  [![Gittip][GittipBadge]][GittipURL]
6
7
  [![Coverage][CoverageBadge]][CoverageURL]
7
8
 
8
- _Fast execution control in Pry_
9
-
10
- Adds **step**, **next**, **finish** and **continue** commands and
11
- **breakpoints** to [Pry][pry] using [byebug][byebug].
9
+ Adds step-by-step debugging and stack navigation capabilities to [pry][] using
10
+ [byebug][].
12
11
 
13
12
  To use, invoke pry normally. No need to start your script or app differently.
14
13
  Execution will stop in the first statement after your `binding.pry`.
@@ -27,12 +26,12 @@ puts 'Goodbye World' # Run 'next' in the console to move here.
27
26
  ## Requirements
28
27
 
29
28
  * Required: MRI 2.0.0 or higher. For debugging ruby 1.9.3 or older, use
30
- [pry-debugger][].
29
+ [pry-debugger][].
31
30
 
32
31
  * Recommended:
33
- - MRI 2.1.7 or higher.
34
- - MRI 2.2.3 or higher.
35
-
32
+ * MRI 2.1.8 or higher.
33
+ * MRI 2.2.4 or higher.
34
+ * MRI 2.3.0 or higher.
36
35
 
37
36
  ## Installation
38
37
 
@@ -46,11 +45,14 @@ in your Gemfile and run
46
45
 
47
46
  bundle install
48
47
 
49
- _Make sure you include the gem globally or inside the `:test` group if you plan
50
- to use it to debug your tests!_
48
+ Make sure you include the gem globally or inside the `:test` group if you plan
49
+ to use it to debug your tests!
51
50
 
51
+ ## Commands
52
52
 
53
- ## Execution Commands
53
+ ### Step-by-step debugging
54
+
55
+ **break:** Manage breakpoints.
54
56
 
55
57
  **step:** Step execution into the next line or method. Takes an optional numeric
56
58
  argument to step multiple times.
@@ -62,6 +64,11 @@ optional numeric argument to step multiple lines.
62
64
 
63
65
  **continue:** Continue program execution and end the Pry session.
64
66
 
67
+ ### Callstack navigation
68
+
69
+ **backtrace:** Shows the current stack. You can use the numbers on the left
70
+ side with the `frame` command to navigate the stack.
71
+
65
72
  **up:** Moves the stack frame up. Takes an optional numeric argument to move
66
73
  multiple frames.
67
74
 
@@ -133,8 +140,8 @@ Type `break --help` from a Pry session to see all available options.
133
140
  ## Credits
134
141
 
135
142
  * 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.
143
+ contributed to it. pry-byebug is a fork of pry-debugger so it wouldn't exist as
144
+ it is without those contributions.
138
145
  * John Mair (@banister), creator of [pry][].
139
146
 
140
147
  Patches and bug reports are welcome.
@@ -41,7 +41,15 @@ module Byebug
41
41
  # Set up a number of navigational commands to be performed by Byebug.
42
42
  #
43
43
  def perform(action, options = {})
44
- return unless %i(next step finish up down frame).include?(action)
44
+ return unless %i(
45
+ backtrace
46
+ down
47
+ finish
48
+ frame
49
+ next
50
+ step
51
+ up
52
+ ).include?(action)
45
53
 
46
54
  send("perform_#{action}", options)
47
55
  end
@@ -109,6 +117,12 @@ module Byebug
109
117
  end
110
118
  end
111
119
 
120
+ def perform_backtrace(_options)
121
+ Byebug::WhereCommand.new(self, 'backtrace').execute
122
+
123
+ resume_pry
124
+ end
125
+
112
126
  def perform_next(options)
113
127
  lines = (options[:lines] || 1).to_i
114
128
  context.step_over(lines, frame.pos)
@@ -16,7 +16,7 @@ module PryByebug
16
16
  #
17
17
  def check_file_context(target, e = nil)
18
18
  e ||= 'Cannot find local context. Did you use `binding.pry`?'
19
- fail(Pry::CommandError, e) unless file_context?(target)
19
+ raise(Pry::CommandError, e) unless file_context?(target)
20
20
  end
21
21
  module_function :check_file_context
22
22
 
@@ -1,3 +1,4 @@
1
+ require 'pry-byebug/commands/backtrace'
1
2
  require 'pry-byebug/commands/next'
2
3
  require 'pry-byebug/commands/step'
3
4
  require 'pry-byebug/commands/continue'
@@ -0,0 +1,29 @@
1
+ require 'pry-byebug/helpers/navigation'
2
+
3
+ module PryByebug
4
+ #
5
+ # Display the current stack
6
+ #
7
+ class BacktraceCommand < Pry::ClassCommand
8
+ include Helpers::Navigation
9
+
10
+ match 'backtrace'
11
+ group 'Byebug'
12
+
13
+ description 'Display the current stack.'
14
+
15
+ banner <<-BANNER
16
+ Usage: backtrace
17
+
18
+ Display the current stack.
19
+ BANNER
20
+
21
+ def process
22
+ PryByebug.check_file_context(target)
23
+
24
+ breakout_navigation :backtrace
25
+ end
26
+ end
27
+ end
28
+
29
+ Pry::Commands.add_command(PryByebug::BacktraceCommand)
@@ -124,7 +124,7 @@ module PryByebug
124
124
  end
125
125
  breakpoints.add_method(place, condition)
126
126
  else
127
- fail(ArgumentError, 'Cannot identify arguments as breakpoint')
127
+ raise(ArgumentError, 'Cannot identify arguments as breakpoint')
128
128
  end
129
129
  end
130
130
  end
@@ -1,7 +1,7 @@
1
1
  require 'byebug/processors/pry_processor'
2
2
 
3
3
  class << Pry
4
- alias_method :start_without_pry_byebug, :start
4
+ alias start_without_pry_byebug start
5
5
 
6
6
  def start_with_pry_byebug(target = TOPLEVEL_BINDING, options = {})
7
7
  if target.is_a?(Binding) && PryByebug.file_context?(target)
@@ -12,5 +12,5 @@ class << Pry
12
12
  end
13
13
  end
14
14
 
15
- alias_method :start, :start_with_pry_byebug
15
+ alias start start_with_pry_byebug
16
16
  end
@@ -10,7 +10,7 @@ module PryRemote
10
10
  # teardown the server right after Pry.start finishes.
11
11
  #
12
12
  def run
13
- fail('Already running a pry-remote session!') if
13
+ raise('Already running a pry-remote session!') if
14
14
  PryByebug.current_remote_server
15
15
 
16
16
  PryByebug.current_remote_server = self
@@ -22,7 +22,7 @@ module PryRemote
22
22
  #
23
23
  # Override to reset our saved global current server session.
24
24
  #
25
- alias_method :teardown_without_pry_byebug, :teardown
25
+ alias teardown_without_pry_byebug teardown
26
26
  def teardown_with_pry_byebug
27
27
  return if @torn
28
28
 
@@ -30,7 +30,7 @@ module PryRemote
30
30
  PryByebug.current_remote_server = nil
31
31
  @torn = true
32
32
  end
33
- alias_method :teardown, :teardown_with_pry_byebug
33
+ alias teardown teardown_with_pry_byebug
34
34
  end
35
35
  end
36
36
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # Main container module for Pry-Byebug functionality
3
4
  #
4
5
  module PryByebug
5
- VERSION = '3.3.0'
6
+ VERSION = '3.4.0'.freeze
6
7
  end
@@ -60,7 +60,7 @@ class Pry
60
60
  #
61
61
  def add_file(file, line, expression = nil)
62
62
  real_file = (file != Pry.eval_path)
63
- fail(ArgumentError, 'Invalid file!') if real_file && !File.exist?(file)
63
+ raise(ArgumentError, 'Invalid file!') if real_file && !File.exist?(file)
64
64
  validate_expression expression
65
65
 
66
66
  path = (real_file ? File.expand_path(file) : file)
@@ -89,7 +89,7 @@ class Pry
89
89
  ::Byebug::Breakpoint.remove(id) &&
90
90
  breakpoints.delete(find_by_id(id))
91
91
 
92
- fail(ArgumentError, "No breakpoint ##{id}") unless deleted
92
+ raise(ArgumentError, "No breakpoint ##{id}") unless deleted
93
93
  end
94
94
 
95
95
  #
@@ -141,7 +141,7 @@ class Pry
141
141
 
142
142
  def find_by_id(id)
143
143
  breakpoint = find { |b| b.id == id }
144
- fail(ArgumentError, "No breakpoint ##{id}!") unless breakpoint
144
+ raise(ArgumentError, "No breakpoint ##{id}!") unless breakpoint
145
145
  breakpoint
146
146
  end
147
147
 
@@ -157,7 +157,7 @@ class Pry
157
157
  valid = exp && (exp.empty? || !Pry::Code.complete_expression?(exp))
158
158
  return unless valid
159
159
 
160
- fail("Invalid breakpoint conditional: #{expression}")
160
+ raise("Invalid breakpoint conditional: #{expression}")
161
161
  end
162
162
  end
163
163
  end
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.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodríguez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-05 00:00:00.000000000 Z
12
+ date: 2016-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '8.0'
34
+ version: '9.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: '9.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
@@ -94,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
95
  version: '0'
95
96
  requirements: []
96
97
  rubyforge_project:
97
- rubygems_version: 2.4.5.1
98
+ rubygems_version: 2.5.1
98
99
  signing_key:
99
100
  specification_version: 4
100
101
  summary: Fast debugging with Pry.