pry-byebug 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b3ed5737036fb3e67543d8df53880500db2ea98
4
- data.tar.gz: f4130936f658687b08af6ee8bed74e8554b6a77b
3
+ metadata.gz: d5b8fdd92c518cf1c6800d1c1d1c481c5c0154f4
4
+ data.tar.gz: 92484d0776f36921b38ff4f89f8a3c867c076544
5
5
  SHA512:
6
- metadata.gz: a361fb51061ca0c6efd216623dca9754173352dcca012a82f48b80fffb767fbe1e39b649213c15b1737275f19ef6943394a9c3310dc9da7f2d9651f685d009d6
7
- data.tar.gz: aeb8e5bed91c15c156cd739906791469369b55787a38a1c7212d3441f75ad6978b984877eae54d05814258205416ae17daa1da3bffe90434187bcfafc1b70f2d
6
+ metadata.gz: ac47acea5c530840ecaac8e51dffaf0c0d88ff45f78c1aebbd2ffba67e89461cf0cf9ef400cfdfc7b53b6c1e24ebd9405d24eca1ab90ed70dd37034ffd4d2b8b
7
+ data.tar.gz: a0f259126736dea8c91727c1a506fc87a4ff94626ae609892cc83e3c68e33eda8ed5767511a027189e8a7c2db4495010f1643f8915b1df95b0c02103ce36f8fe
@@ -10,3 +10,5 @@ Style/FileName:
10
10
 
11
11
  Style/ModuleFunction:
12
12
  Enabled: false
13
+
14
+ inherit_from: .rubocop_todo.yml
@@ -0,0 +1,20 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2015-03-13 12:00:51 -0300 using RuboCop version 0.29.1.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 1
9
+ Metrics/AbcSize:
10
+ Max: 39
11
+
12
+ # Offense count: 1
13
+ # Configuration parameters: CountComments.
14
+ Metrics/ClassLength:
15
+ Max: 142
16
+
17
+ # Offense count: 1
18
+ # Configuration parameters: CountComments.
19
+ Metrics/MethodLength:
20
+ Max: 23
@@ -1,3 +1,8 @@
1
+ ## 3.1.0 (2015-04-14)
2
+
3
+ - Improvements:
4
+ * Add frame nav commands up, down and frame.
5
+
1
6
  ## 3.0.1 (2015-04-02)
2
7
 
3
8
  - Improvements:
data/Gemfile CHANGED
@@ -2,13 +2,13 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'rake', '~> 10.3'
5
+ gem 'rake', '~> 10.4'
6
6
 
7
7
  group :development do
8
- gem 'rubocop', '~> 0.26'
8
+ gem 'rubocop', '0.29.1'
9
9
  end
10
10
 
11
11
  group :test do
12
12
  gem 'mocha', '~> 1.1'
13
- gem 'minitest', '~> 5.4'
13
+ gem 'minitest', '~> 5.5'
14
14
  end
data/README.md CHANGED
@@ -51,6 +51,14 @@ optional numeric argument to step multiple lines.
51
51
 
52
52
  **continue:** Continue program execution and end the Pry session.
53
53
 
54
+ **up:** Moves the stack frame up. Takes an optional numeric argument to move
55
+ multiple frames.
56
+
57
+ **down:** Moves the stack frame down. Takes an optional numeric argument to move
58
+ multiple frames.
59
+
60
+ **frame:** Moves to a specific frame. Called without arguments will show the
61
+ current frame.
54
62
 
55
63
  ## Matching Byebug Behaviour
56
64
 
data/Rakefile CHANGED
@@ -1,10 +1,17 @@
1
1
  require 'bundler/gem_tasks'
2
+
2
3
  require 'rake/testtask'
3
4
 
4
5
  desc 'Run tests'
5
6
  Rake::TestTask.new(:test) do |t|
6
7
  t.libs << 'test'
8
+ t.ruby_opts += ['-w']
7
9
  t.pattern = 'test/**/*_test.rb'
8
10
  end
9
11
 
10
- task default: :test
12
+ require 'rubocop/rake_task'
13
+
14
+ desc 'Run RuboCop'
15
+ task(:rubocop) { RuboCop::RakeTask.new }
16
+
17
+ task default: [:test, :rubocop]
@@ -1,4 +1,3 @@
1
- require 'pry'
2
1
  require 'byebug'
3
2
 
4
3
  module Byebug
@@ -7,11 +6,17 @@ module Byebug
7
6
  #
8
7
  class PryProcessor < Processor
9
8
  attr_accessor :pry
9
+ attr_reader :state
10
+
11
+ extend Forwardable
12
+ def_delegators :@pry, :output
13
+ def_delegators Pry::Helpers::Text, :bold
10
14
 
11
15
  def initialize(interface = LocalInterface.new)
12
16
  super(interface)
13
17
 
14
18
  Byebug.handler = self
19
+ Byebug::Setting[:autolist] = false
15
20
  end
16
21
 
17
22
  def start
@@ -23,6 +28,14 @@ module Byebug
23
28
  # Wrap a Pry REPL to catch navigational commands and act on them.
24
29
  #
25
30
  def run(&_block)
31
+ @state ||= Byebug::RegularState.new(
32
+ Byebug.current_context,
33
+ [],
34
+ Byebug.current_context.frame_file,
35
+ interface,
36
+ Byebug.current_context.frame_line
37
+ )
38
+
26
39
  return_value = nil
27
40
 
28
41
  command = catch(:breakout_nav) do # Throws from PryByebug::Commands
@@ -33,7 +46,7 @@ module Byebug
33
46
  # Pry instance to resume after stepping
34
47
  @pry = command[:pry]
35
48
 
36
- perform(command[:action], (command[:times] || '1').to_i)
49
+ perform(command[:action], command[:options])
37
50
 
38
51
  return_value
39
52
  end
@@ -41,15 +54,12 @@ module Byebug
41
54
  #
42
55
  # Set up a number of navigational commands to be performed by Byebug.
43
56
  #
44
- def perform(action, times)
45
- case action
46
- when :next
47
- Byebug.current_context.step_over(times, 0)
48
- when :step
49
- Byebug.current_context.step_into(times)
50
- when :finish
51
- Byebug.current_context.step_out(times)
52
- end
57
+ def perform(action, options = {})
58
+ return unless [
59
+ :next, :step, :finish, :up, :down, :frame
60
+ ].include?(action)
61
+
62
+ send("perform_#{action}", options)
53
63
  end
54
64
 
55
65
  # --- Callbacks from byebug C extension ---
@@ -76,34 +86,81 @@ module Byebug
76
86
  def at_breakpoint(_context, breakpoint)
77
87
  @pry ||= Pry.new
78
88
 
79
- brkpt_num = "\n Breakpoint #{breakpoint.id}. "
80
- @pry.output.print Pry::Helpers::Text.bold(brkpt_num)
81
-
82
- n_hits = breakpoint.hit_count
83
- @pry.output.puts(n_hits == 1 ? 'First hit' : "Hit #{n_hits} times.")
89
+ output.puts bold("\n Breakpoint #{breakpoint.id}. ") + n_hits(breakpoint)
84
90
 
85
91
  expr = breakpoint.expr
86
92
  return unless expr
87
93
 
88
- @pry.output.print Pry::Helpers::Text.bold('Condition: ')
89
- @pry.output.puts expr
94
+ output.puts bold('Condition: ') + expr
90
95
  end
91
96
 
92
97
  private
93
98
 
99
+ def n_hits(breakpoint)
100
+ n_hits = breakpoint.hit_count
101
+
102
+ n_hits == 1 ? 'First hit' : "Hit #{n_hits} times."
103
+ end
104
+
94
105
  #
95
106
  # Resume an existing Pry REPL at the paused point.
96
107
  #
97
108
  def resume_pry(context)
98
- new_binding = context.frame_binding(0)
109
+ frame_position = state ? state.frame : 0
110
+
111
+ new_binding = context.frame_binding(frame_position)
99
112
 
100
113
  run do
101
- if @pry
114
+ if defined?(@pry) && @pry
102
115
  @pry.repl(new_binding)
103
116
  else
104
117
  @pry = Pry.start_without_pry_byebug(new_binding)
105
118
  end
106
119
  end
107
120
  end
121
+
122
+ def perform_next(options)
123
+ lines = (options[:lines] || 1).to_i
124
+ state.context.step_over(lines, state.frame)
125
+ end
126
+
127
+ def perform_step(options)
128
+ times = (options[:times] || 1).to_i
129
+ state.context.step_into(times, state.frame)
130
+ end
131
+
132
+ def perform_finish(*)
133
+ state.context.step_out(1)
134
+ end
135
+
136
+ def perform_up(options)
137
+ times = (options[:times] || 1).to_i
138
+
139
+ command = Byebug::UpCommand.new(state)
140
+ command.match("up #{times}")
141
+ command.execute
142
+
143
+ resume_pry(state.context)
144
+ end
145
+
146
+ def perform_down(options)
147
+ times = (options[:times] || 1).to_i
148
+
149
+ command = Byebug::DownCommand.new(state)
150
+ command.match("down #{times}")
151
+ command.execute
152
+
153
+ resume_pry(state.context)
154
+ end
155
+
156
+ def perform_frame(options)
157
+ index = options[:index] ? options[:index].to_i : ''
158
+
159
+ command = Byebug::FrameCommand.new(state)
160
+ command.match("frame #{index}")
161
+ command.execute
162
+
163
+ resume_pry(state.context)
164
+ end
108
165
  end
109
166
  end
@@ -1,4 +1,6 @@
1
+ require 'pry'
1
2
  require 'pry-byebug/base'
2
3
  require 'pry-byebug/pry_ext'
3
4
  require 'pry/commands/stepping'
5
+ require 'pry/commands/frames'
4
6
  require 'pry/commands/breakpoint'
@@ -1 +1,4 @@
1
- require 'pry-byebug'
1
+ require 'pry-byebug/base'
2
+ require 'pry-byebug/pry_ext'
3
+ require 'pry/commands/stepping'
4
+ require 'pry/commands/breakpoint'
@@ -1,4 +1,3 @@
1
- require 'pry'
2
1
  require 'byebug/processors/pry_processor'
3
2
 
4
3
  class << Pry
@@ -2,5 +2,5 @@
2
2
  # Main container module for Pry-Byebug functionality
3
3
  #
4
4
  module PryByebug
5
- VERSION = '3.0.1'
5
+ VERSION = '3.1.0'
6
6
  end
@@ -84,8 +84,11 @@ class Pry
84
84
  # Deletes an existing breakpoint with the given ID.
85
85
  #
86
86
  def delete(id)
87
- deleted = ::Byebug.started? &&
88
- ::Byebug::Breakpoint.remove(id) && breakpoints.delete(find_by_id(id))
87
+ deleted =
88
+ ::Byebug.started? &&
89
+ ::Byebug::Breakpoint.remove(id) &&
90
+ breakpoints.delete(find_by_id(id))
91
+
89
92
  fail(ArgumentError, "No breakpoint ##{id}") unless deleted
90
93
  end
91
94
 
@@ -147,8 +150,8 @@ class Pry
147
150
  end
148
151
 
149
152
  def validate_expression(exp)
150
- return unless exp &&
151
- (exp.empty? || !Pry::Code.complete_expression?(exp))
153
+ valid = exp && (exp.empty? || !Pry::Code.complete_expression?(exp))
154
+ return unless valid
152
155
 
153
156
  fail("Invalid breakpoint conditional: #{expression}")
154
157
  end
@@ -1,4 +1,3 @@
1
- require 'pry'
2
1
  require 'pry/byebug/breakpoints'
3
2
 
4
3
  #
@@ -57,8 +56,7 @@ class Pry
57
56
  all.each do |option|
58
57
  next unless opts.present?(option)
59
58
 
60
- method_name = "process_#{option.gsub('-', '_')}"
61
- return send(method_name)
59
+ return send("process_#{option.gsub('-', '_')}")
62
60
  end
63
61
 
64
62
  new_breakpoint unless args.empty?
@@ -141,7 +139,6 @@ class Pry
141
139
  else
142
140
  print_breakpoints_header
143
141
  breakpoints.each { |b| print_short_breakpoint(b) }
144
- output.puts
145
142
  end
146
143
  end
147
144
  end
@@ -186,7 +183,7 @@ class Pry
186
183
  # Print out concise information about a breakpoint.
187
184
  #
188
185
  def print_short_breakpoint(breakpoint)
189
- id = sprintf('%*d', max_width, breakpoint.id)
186
+ id = format('%*d', max_width, breakpoint.id)
190
187
  status = breakpoint.enabled? ? 'Yes' : 'No'
191
188
  expr = breakpoint.expr ? breakpoint.expr : ''
192
189
 
@@ -0,0 +1,79 @@
1
+ #
2
+ # Main Pry class.
3
+ #
4
+ # We're going to add to it custom frame commands for Pry-Byebug
5
+ #
6
+ class Pry
7
+ FrameCommands = CommandSet.new do
8
+ create_command 'up' do
9
+ description 'Move current frame up.'
10
+
11
+ banner <<-BANNER
12
+ Usage: up [TIMES]
13
+
14
+ Move current frame up. By default, moves by 1 frame.
15
+
16
+ Examples:
17
+ up #=> Move up 1 frame.
18
+ up 5 #=> Move up 5 frames.
19
+ BANNER
20
+
21
+ def process
22
+ PryByebug.check_file_context(target)
23
+
24
+ frame_navigation :up, times: args.first
25
+ end
26
+ end
27
+
28
+ create_command 'down' do
29
+ description 'Move current frame down.'
30
+
31
+ banner <<-BANNER
32
+ Usage: down [TIMES]
33
+
34
+ Move current frame down. By default, moves by 1 frame.
35
+
36
+ Examples:
37
+ down #=> Move down 1 frame.
38
+ down 5 #=> Move down 5 frames.
39
+ BANNER
40
+
41
+ def process
42
+ PryByebug.check_file_context(target)
43
+
44
+ frame_navigation :down, times: args.first
45
+ end
46
+ end
47
+
48
+ create_command 'frame' do
49
+ description 'Move to specified frame #.'
50
+
51
+ banner <<-BANNER
52
+ Usage: frame [TIMES]
53
+
54
+ Move to specified frame #.
55
+
56
+ Examples:
57
+ frame #=> Show current frame #.
58
+ frame 5 #=> Move to frame 5.
59
+ BANNER
60
+
61
+ def process
62
+ PryByebug.check_file_context(target)
63
+
64
+ frame_navigation :frame, index: args.first
65
+ end
66
+ end
67
+
68
+ helpers do
69
+ def frame_navigation(action, options = {})
70
+ _pry_.binding_stack.clear # Clear the binding stack.
71
+
72
+ # Break out of the REPL loop and signal tracer
73
+ throw :breakout_nav, action: action, options: options, pry: _pry_
74
+ end
75
+ end
76
+ end
77
+
78
+ Pry.commands.import(FrameCommands)
79
+ end
@@ -1,5 +1,3 @@
1
- require 'pry'
2
-
3
1
  #
4
2
  # Main Pry class.
5
3
  #
@@ -23,7 +21,7 @@ class Pry
23
21
  def process
24
22
  PryByebug.check_file_context(target)
25
23
 
26
- breakout_navigation :step, args.first
24
+ breakout_navigation :step, times: args.first
27
25
  end
28
26
  end
29
27
 
@@ -44,7 +42,7 @@ class Pry
44
42
  def process
45
43
  PryByebug.check_file_context(target)
46
44
 
47
- breakout_navigation :next, args.first
45
+ breakout_navigation :next, lines: args.first
48
46
  end
49
47
  end
50
48
 
@@ -77,11 +75,11 @@ class Pry
77
75
  end
78
76
 
79
77
  helpers do
80
- def breakout_navigation(action, times = nil)
78
+ def breakout_navigation(action, options = {})
81
79
  _pry_.binding_stack.clear # Clear the binding stack.
82
80
 
83
81
  # Break out of the REPL loop and signal tracer
84
- throw :breakout_nav, action: action, times: times, pry: _pry_
82
+ throw :breakout_nav, action: action, options: options, pry: _pry_
85
83
  end
86
84
  end
87
85
  end
@@ -19,5 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.required_ruby_version = '>= 2.0.0'
20
20
 
21
21
  gem.add_runtime_dependency 'pry', '~> 0.10'
22
- gem.add_runtime_dependency 'byebug', '~> 3.4'
22
+ gem.add_runtime_dependency 'byebug', '~> 4.0'
23
23
  end
@@ -52,8 +52,10 @@ module BreakpointSpecs
52
52
  end
53
53
 
54
54
  def test_shows_breakpoint_hit
55
- match = @output.string.match(@regexp)
56
- @output.string.must_match(/^ Breakpoint #{match[:id]}\. First hit/)
55
+ result = @output.string
56
+ result.must_match(@regexp)
57
+ match = result.match(@regexp)
58
+ result.must_match(/^ Breakpoint #{match[:id]}\. First hit/)
57
59
  end
58
60
 
59
61
  def test_shows_breakpoint_line
@@ -70,21 +72,22 @@ class BreakpointsTestCommands < Minitest::Spec
70
72
 
71
73
  before do
72
74
  Pry.color, Pry.pager, Pry.hooks = false, false, Pry::DEFAULT_HOOKS
75
+ @input = InputTester.new 'break --delete-all'
76
+ redirect_pry_io(@input, StringIO.new) do
77
+ binding.pry # rubocop:disable Lint/Debugger
78
+ end
79
+ Object.send :remove_const, :Break1Example if defined? Break1Example
80
+ Object.send :remove_const, :Break2Example if defined? Break2Example
73
81
  @output = StringIO.new
74
82
  end
75
83
 
76
84
  describe 'Set Breakpoints' do
77
- before do
78
- @input = InputTester.new 'break --delete-all'
79
- redirect_pry_io(@input, @output) { load break_first_file }
80
- end
81
-
82
85
  describe 'set by line number' do
83
86
  before do
84
- @input = InputTester.new('break 7')
87
+ @input = InputTester.new('break 6')
85
88
  redirect_pry_io(@input, @output) { load break_first_file }
86
- @line = 7
87
- @regexp = / Breakpoint (?<id>\d+): #{break_first_file} @ 7 \(Enabled\)/
89
+ @line = 6
90
+ @regexp = / Breakpoint (?<id>\d+): #{break_first_file} @ 6 \(Enabled\)/
88
91
  end
89
92
 
90
93
  include BreakpointSpecs
@@ -94,7 +97,7 @@ class BreakpointsTestCommands < Minitest::Spec
94
97
  before do
95
98
  @input = InputTester.new('break Break1Example#a')
96
99
  redirect_pry_io(@input, @output) { load break_first_file }
97
- @line = 7
100
+ @line = 5
98
101
  @regexp = / Breakpoint (?<id>\d+): Break1Example#a \(Enabled\)/
99
102
  end
100
103
 
@@ -105,7 +108,7 @@ class BreakpointsTestCommands < Minitest::Spec
105
108
  before do
106
109
  @input = InputTester.new('break Break1Example#c!')
107
110
  redirect_pry_io(@input, @output) { load break_first_file }
108
- @line = 17
111
+ @line = 15
109
112
  @regexp = / Breakpoint (?<id>\d+): Break1Example#c! \(Enabled\)/
110
113
  end
111
114
 
@@ -116,7 +119,7 @@ class BreakpointsTestCommands < Minitest::Spec
116
119
  before do
117
120
  @input = InputTester.new('break #b')
118
121
  redirect_pry_io(@input, @output) { load break_second_file }
119
- @line = 11
122
+ @line = 7
120
123
  @regexp = / Breakpoint (?<id>\d+): Break2Example#b \(Enabled\)/
121
124
  end
122
125
 
@@ -126,7 +129,7 @@ class BreakpointsTestCommands < Minitest::Spec
126
129
 
127
130
  describe 'List breakpoints' do
128
131
  before do
129
- @input = InputTester.new('break --delete-all', 'break #b', 'breakpoints')
132
+ @input = InputTester.new('break #b', 'breakpoints')
130
133
  redirect_pry_io(@input, @output) { load break_second_file }
131
134
  end
132
135
 
@@ -1,5 +1,3 @@
1
- binding.pry
2
-
3
1
  #
4
2
  # A toy example for testing break commands.
5
3
  #
@@ -20,4 +18,6 @@ class Break1Example
20
18
  end
21
19
  end
22
20
 
21
+ binding.pry
22
+
23
23
  Break1Example.new.a
@@ -6,4 +6,4 @@ new_str = 'string'.gsub!(/str/) do |_|
6
6
  binding.pry
7
7
  end
8
8
 
9
- new_str
9
+ _foo = new_str
@@ -0,0 +1,14 @@
1
+ #
2
+ # Toy class for testing frame commands
3
+ #
4
+ class Frames
5
+ def method_a
6
+ method_b
7
+ end
8
+
9
+ def method_b
10
+ binding.pry
11
+ end
12
+ end
13
+
14
+ Frames.new.method_a
@@ -26,4 +26,4 @@ ex = SteppingExample.new.method_a
26
26
  ex += 1
27
27
  end
28
28
 
29
- ex
29
+ _foo = ex
@@ -0,0 +1,58 @@
1
+ require 'test_helper'
2
+
3
+ #
4
+ # Tests for pry-byebug frame commands.
5
+ #
6
+ class FramesTest < MiniTest::Spec
7
+ let(:output) { StringIO.new }
8
+
9
+ before do
10
+ Pry.color, Pry.pager, Pry.hooks = false, false, Pry::DEFAULT_HOOKS
11
+ end
12
+
13
+ describe 'Up command' do
14
+ let(:input) { InputTester.new('up', 'down') }
15
+
16
+ before do
17
+ redirect_pry_io(input, output) { load test_file('frames') }
18
+ end
19
+
20
+ it 'shows current line' do
21
+ output.string.must_match(/=> \s*6: \s*method_b/)
22
+ end
23
+ end
24
+
25
+ describe 'Down command' do
26
+ let(:input) { InputTester.new('up', 'down') }
27
+
28
+ before do
29
+ redirect_pry_io(input, output) { load test_file('frames') }
30
+ end
31
+
32
+ it 'shows current line' do
33
+ output.string.must_match(/=> \s*11: \s*end/)
34
+ end
35
+ end
36
+
37
+ describe 'Frame command' do
38
+ before do
39
+ redirect_pry_io(input, output) { load test_file('frames') }
40
+ end
41
+
42
+ describe 'jump to frame 1' do
43
+ let(:input) { InputTester.new('frame 1', 'frame 0') }
44
+
45
+ it 'shows current line' do
46
+ output.string.must_match(/=> \s*6: \s*method_b/)
47
+ end
48
+ end
49
+
50
+ describe 'jump to current frame' do
51
+ let(:input) { InputTester.new('frame 0') }
52
+
53
+ it 'shows current line' do
54
+ output.string.must_match(/=> \s*11: \s*end/)
55
+ end
56
+ end
57
+ end
58
+ end
@@ -14,6 +14,7 @@ class ProcessorTest < Minitest::Spec
14
14
  let(:step_file) { test_file('stepping') }
15
15
 
16
16
  before do
17
+ Object.send :remove_const, :SteppingExample if defined? SteppingExample
17
18
  @input = InputTester.new
18
19
  @output = StringIO.new
19
20
  redirect_pry_io(@input, @output) { load step_file }
@@ -14,12 +14,13 @@ module SteppingSpecs
14
14
  end
15
15
 
16
16
  #
17
- # Tests for pry-byebug commands.
17
+ # Tests for pry-byebug stepping commands.
18
18
  #
19
- class CommandsTest < MiniTest::Spec
19
+ class SteppingTest < MiniTest::Spec
20
20
  let(:step_file) { test_file('stepping') }
21
21
 
22
22
  before do
23
+ Object.send :remove_const, :SteppingExample if defined? SteppingExample
23
24
  Pry.color, Pry.pager, Pry.hooks = false, false, Pry::DEFAULT_HOOKS
24
25
  @output = StringIO.new
25
26
  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.0.1
4
+ version: 3.1.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-02-04 00:00:00.000000000 Z
12
+ date: 2015-03-14 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: '3.4'
34
+ version: '4.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: '3.4'
41
+ version: '4.0'
42
42
  description: |-
43
43
  Combine 'pry' with 'byebug'. Adds 'step', 'next',
44
44
  'finish', 'continue' and 'break' commands to control execution.
@@ -49,6 +49,7 @@ extra_rdoc_files: []
49
49
  files:
50
50
  - ".gitignore"
51
51
  - ".rubocop.yml"
52
+ - ".rubocop_todo.yml"
52
53
  - ".travis.yml"
53
54
  - CHANGELOG.md
54
55
  - Gemfile
@@ -64,18 +65,21 @@ files:
64
65
  - lib/pry-byebug/version.rb
65
66
  - lib/pry/byebug/breakpoints.rb
66
67
  - lib/pry/commands/breakpoint.rb
68
+ - lib/pry/commands/frames.rb
67
69
  - lib/pry/commands/stepping.rb
68
70
  - pry-byebug.gemspec
69
71
  - test/base_test.rb
70
72
  - test/breakpoints_test.rb
71
- - test/commands_test.rb
72
73
  - test/examples/break1.rb
73
74
  - test/examples/break2.rb
74
75
  - test/examples/deep_stepping.rb
76
+ - test/examples/frames.rb
75
77
  - test/examples/stepping.rb
78
+ - test/frames_test.rb
76
79
  - test/processor_test.rb
77
80
  - test/pry_ext_test.rb
78
81
  - test/pry_remote_ext_test.rb
82
+ - test/stepping_test.rb
79
83
  - test/test_helper.rb
80
84
  homepage: https://github.com/deivid-rodriguez/pry-byebug
81
85
  licenses:
@@ -97,19 +101,21 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
101
  version: '0'
98
102
  requirements: []
99
103
  rubyforge_project:
100
- rubygems_version: 2.4.5
104
+ rubygems_version: 2.4.6
101
105
  signing_key:
102
106
  specification_version: 4
103
107
  summary: Fast debugging with Pry.
104
108
  test_files:
105
109
  - test/base_test.rb
106
110
  - test/breakpoints_test.rb
107
- - test/commands_test.rb
108
111
  - test/examples/break1.rb
109
112
  - test/examples/break2.rb
110
113
  - test/examples/deep_stepping.rb
114
+ - test/examples/frames.rb
111
115
  - test/examples/stepping.rb
116
+ - test/frames_test.rb
112
117
  - test/processor_test.rb
113
118
  - test/pry_ext_test.rb
114
119
  - test/pry_remote_ext_test.rb
120
+ - test/stepping_test.rb
115
121
  - test/test_helper.rb