pry-stack_explorer 0.2.9pre4 → 0.2.9pre5

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.
data/Rakefile CHANGED
@@ -23,7 +23,7 @@ def apply_spec_defaults(s)
23
23
  s.description = s.summary
24
24
  s.require_path = 'lib'
25
25
  s.add_dependency("binding_of_caller","~>0.6.1")
26
- s.add_dependency("pry","0.9.8pre4")
26
+ s.add_dependency("pry","0.9.8pre6")
27
27
  s.add_development_dependency("bacon","~>1.1.0")
28
28
  s.add_development_dependency('rake', '~> 0.9')
29
29
  s.required_ruby_version = '>= 1.9.2'
@@ -10,68 +10,105 @@ require "binding_of_caller"
10
10
 
11
11
  module PryStackExplorer
12
12
 
13
- # @return [Hash] The hash storing all frames for all Pry instances for
14
- # the current thread
15
- def self.frame_hash
16
- Thread.current[:__pry_frame_managers__]
17
- end
18
-
19
- def self.init_frame_hash
20
- Thread.current[:__pry_frame_managers__] ||= Hash.new { |h, k| h[k] = [] }
21
- end
22
-
23
- # Create a `Pry::FrameManager` object and push it onto the frame
24
- # manager stack for the relevant `_pry_` instance.
25
- # @param [Array] bindings The array of bindings (frames)
26
- # @param [Pry] _pry_ The Pry instance associated with the frame manager
27
- def self.create_and_push_frame_manager(bindings, _pry_)
28
- init_frame_hash
29
- frame_hash[_pry_].push FrameManager.new(bindings, _pry_)
30
- end
31
-
32
- # Return the complete frame manager stack for the Pry instance
33
- # @param [Pry] _pry_ The Pry instance associated with the frame
34
- # managers
35
- # @return [Array] The stack of Pry::FrameManager objections
36
- def self.frame_managers(_pry_)
37
- init_frame_hash
38
- frame_hash[_pry_]
39
- end
40
-
41
- # Delete the currently active frame manager
42
- # @param [Pry] _pry_ The Pry instance associated with the frame managers
43
- def self.pop_frame_manager(_pry_)
44
- init_frame_hash
45
- popped = frame_managers(_pry_).pop
46
- frame_hash.delete(_pry_) if frame_managers(_pry_).empty?
47
- _pry_.backtrace = popped.prior_backtrace
48
- popped
49
- end
50
-
51
- # Clear the stack of frame managers for the Pry instance
52
- # @param [Pry] _pry_ The Pry instance associated with the frame managers
53
- def self.clear_frame_managers(_pry_)
54
- init_frame_hash
55
- pop_frame_manager(_pry_) until frame_managers(_pry_).empty?
56
- frame_hash.delete(_pry_) # this line should be unnecessary!
57
- end
58
-
59
- class << self; alias_method :delete_frame_managers, :clear_frame_managers; end
60
-
61
- # @return [PryStackExplorer::FrameManager] The currently active frame manager
62
- def self.frame_manager(_pry_)
63
- init_frame_hash
64
- frame_hash[_pry_].last
65
- end
66
-
67
- # Simple test to check whether two `Binding` objects are equal.
68
- # @param [Binding] b1 First binding.
69
- # @param [Binding] b2 Second binding.
70
- def self.bindings_equal?(b1, b2)
71
- (b1.eval('self') == b2.eval('self')) &&
72
- (b1.eval('__method__') == b2.eval('__method__')) &&
73
- (b1.eval('local_variables').map { |v| b1.eval("#{v}") } ==
74
- b2.eval('local_variables').map { |v| b2.eval("#{v}") })
13
+ class << self
14
+ # @return [Hash] The hash storing all frames for all Pry instances for
15
+ # the current thread.
16
+ def frame_hash
17
+ Thread.current[:__pry_frame_managers__] ||= Hash.new { |h, k| h[k] = [] }
18
+ end
19
+
20
+ # Return the complete frame manager stack for the Pry instance
21
+ # @param [Pry] _pry_ The Pry instance associated with the frame
22
+ # managers
23
+ # @return [Array] The stack of Pry::FrameManager objections
24
+ def frame_managers(_pry_)
25
+ frame_hash[_pry_]
26
+ end
27
+
28
+ # Create a `Pry::FrameManager` object and push it onto the frame
29
+ # manager stack for the relevant `_pry_` instance.
30
+ # @param [Array] bindings The array of bindings (frames)
31
+ # @param [Pry] _pry_ The Pry instance associated with the frame manager
32
+ def create_and_push_frame_manager(bindings, _pry_, options={})
33
+ fm = FrameManager.new(bindings, _pry_)
34
+ frame_hash[_pry_].push fm
35
+ push_helper(fm, options)
36
+ fm
37
+ end
38
+
39
+ # Update the Pry instance to operate on the specified frame for the
40
+ # current frame manager.
41
+ # @param [PryStackExplorer::FrameManager] fm The active frame manager.
42
+ # @param [Hash] options The options hash.
43
+ def push_helper(fm, options={})
44
+ options = {
45
+ :initial_frame => 0
46
+ }.merge!(options)
47
+
48
+ fm.change_frame_to(options[:initial_frame], false)
49
+ end
50
+
51
+ private :push_helper
52
+
53
+ # Delete the currently active frame manager
54
+ # @param [Pry] _pry_ The Pry instance associated with the frame
55
+ # managers.
56
+ # @return [Pry::FrameManager] The popped frame manager.
57
+ def pop_frame_manager(_pry_)
58
+ return if frame_managers(_pry_).empty?
59
+
60
+ popped_fm = frame_managers(_pry_).pop
61
+ pop_helper(popped_fm, _pry_)
62
+ popped_fm
63
+ end
64
+
65
+ # Restore the Pry instance to operate on the previous
66
+ # binding. Also responsible for restoring Pry instance's backtrace.
67
+ # @param [Pry::FrameManager] popped_fm The recently popped frame manager.
68
+ # @param [Pry] _pry_ The Pry instance associated with the frame managers.
69
+ def pop_helper(popped_fm, _pry_)
70
+ if frame_managers(_pry_).empty?
71
+ if _pry_.binding_stack.empty?
72
+ _pry_.binding_stack.push popped_fm.prior_binding
73
+ else
74
+ _pry_.binding_stack[-1] = popped_fm.prior_binding
75
+ end
76
+
77
+ frame_hash.delete(_pry_)
78
+ else
79
+ frame_manager(_pry_).refresh_frame(false)
80
+ end
81
+
82
+ # restore backtrace
83
+ _pry_.backtrace = popped_fm.prior_backtrace
84
+ end
85
+
86
+ private :pop_helper
87
+
88
+ # Clear the stack of frame managers for the Pry instance
89
+ # @param [Pry] _pry_ The Pry instance associated with the frame managers
90
+ def clear_frame_managers(_pry_)
91
+ pop_frame_manager(_pry_) until frame_managers(_pry_).empty?
92
+ frame_hash.delete(_pry_) # this line should be unnecessary!
93
+ end
94
+
95
+ alias_method :delete_frame_managers, :clear_frame_managers
96
+
97
+ # @return [PryStackExplorer::FrameManager] The currently active frame manager
98
+ def frame_manager(_pry_)
99
+ frame_hash[_pry_].last
100
+ end
101
+
102
+ # Simple test to check whether two `Binding` objects are equal.
103
+ # @param [Binding] b1 First binding.
104
+ # @param [Binding] b2 Second binding.
105
+ # @return [Boolean] Whether the `Binding`s are equal.
106
+ def bindings_equal?(b1, b2)
107
+ (b1.eval('self') == b2.eval('self')) &&
108
+ (b1.eval('__method__') == b2.eval('__method__')) &&
109
+ (b1.eval('local_variables').map { |v| b1.eval("#{v}") } ==
110
+ b2.eval('local_variables').map { |v| b2.eval("#{v}") })
111
+ end
75
112
  end
76
113
  end
77
114
 
@@ -3,9 +3,13 @@ module PryStackExplorer
3
3
  class FrameManager
4
4
  include Enumerable
5
5
 
6
- attr_accessor :binding_index
6
+ # @return [Array<Binding>] The array of bindings that constitute
7
+ # the call-stack.
7
8
  attr_accessor :bindings
8
9
 
10
+ # @return [Fixnum] The index of the active frame (binding) in the call-stack.
11
+ attr_accessor :binding_index
12
+
9
13
  # @return [Hash] A hash for user defined data
10
14
  attr_reader :user
11
15
 
@@ -1,3 +1,3 @@
1
1
  module PryStackExplorer
2
- VERSION = "0.2.9pre4"
2
+ VERSION = "0.2.9pre5"
3
3
  end
@@ -4,10 +4,10 @@ module PryStackExplorer
4
4
  def caller_bindings(binding_stack)
5
5
  target = binding_stack.last
6
6
 
7
- if binding.of_caller(6).eval('__method__') == :pry
8
- drop_number = 8
7
+ if binding.of_caller(7).eval('__method__') == :pry
8
+ drop_number = 9
9
9
  else
10
- drop_number = 7
10
+ drop_number = 8
11
11
  end
12
12
 
13
13
  bindings = binding.callers.drop(drop_number)
@@ -24,22 +24,24 @@ module PryStackExplorer
24
24
  end
25
25
 
26
26
  def call(binding_stack, options, _pry_)
27
- options[:call_stack] = true unless options.has_key?(:call_stack)
28
- options[:initial_frame] = 0 unless options.has_key?(:initial_frame)
29
- initial_frame = options[:initial_frame]
27
+ options = {
28
+ :call_stack => true,
29
+ :initial_frame => 0
30
+ }.merge!(options)
30
31
 
31
32
  return if !options[:call_stack]
32
33
 
33
34
  if options[:call_stack].is_a?(Array)
34
35
  bindings = options[:call_stack]
35
- raise ArgumentError, ":call_stack must be an array of bindings" if bindings.empty? || !bindings.all? { |v| v.is_a?(Binding) }
36
+
37
+ if bindings.empty? || !bindings.all? { |v| v.is_a?(Binding) }
38
+ raise ArgumentError, ":call_stack must be an array of bindings"
39
+ end
36
40
  else
37
- bindings = caller_bindings(binding_stack)
41
+ bindings = caller_bindings(binding_stack)
38
42
  end
39
43
 
40
- binding_stack.replace [bindings[initial_frame]]
41
- PryStackExplorer.create_and_push_frame_manager(bindings, _pry_)
42
- PryStackExplorer.frame_manager(_pry_).set_binding_index_safely(initial_frame)
44
+ PryStackExplorer.create_and_push_frame_manager bindings, _pry_, :initial_frame => options[:initial_frame]
43
45
  end
44
46
  end
45
47
  end
@@ -1,39 +1,39 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = "pry-stack_explorer"
5
- s.version = "0.2.9pre4"
4
+ s.name = %q{pry-stack_explorer}
5
+ s.version = "0.2.9pre5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["John Mair (banisterfiend)"]
9
- s.date = "2012-01-16"
10
- s.description = "Walk the stack in a Pry session"
11
- s.email = "jrmair@gmail.com"
12
- s.files = [".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "Gemfile", "LICENSE", "README.md", "Rakefile", "examples/example.rb", "examples/example2.rb", "lib/pry-stack_explorer.rb", "lib/pry-stack_explorer/commands.rb", "lib/pry-stack_explorer/frame_manager.rb", "lib/pry-stack_explorer/version.rb", "lib/pry-stack_explorer/when_started_hook.rb", "pry-stack_explorer.gemspec", "test/helper.rb", "test/test_commands.rb", "test/test_frame_manager.rb", "test/test_stack_explorer.rb", "tester.rb"]
13
- s.homepage = "https://github.com/banister"
14
- s.require_paths = ["lib"]
8
+ s.authors = [%q{John Mair (banisterfiend)}]
9
+ s.date = %q{2012-01-20}
10
+ s.description = %q{Walk the stack in a Pry session}
11
+ s.email = %q{jrmair@gmail.com}
12
+ s.files = [%q{.gemtest}, %q{.gitignore}, %q{.travis.yml}, %q{.yardopts}, %q{CHANGELOG}, %q{Gemfile}, %q{LICENSE}, %q{README.md}, %q{Rakefile}, %q{examples/example.rb}, %q{examples/example2.rb}, %q{lib/pry-stack_explorer.rb}, %q{lib/pry-stack_explorer/commands.rb}, %q{lib/pry-stack_explorer/frame_manager.rb}, %q{lib/pry-stack_explorer/version.rb}, %q{lib/pry-stack_explorer/when_started_hook.rb}, %q{pry-stack_explorer.gemspec}, %q{test/helper.rb}, %q{test/test_commands.rb}, %q{test/test_frame_manager.rb}, %q{test/test_stack_explorer.rb}, %q{tester.rb}]
13
+ s.homepage = %q{https://github.com/banister}
14
+ s.require_paths = [%q{lib}]
15
15
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
16
- s.rubygems_version = "1.8.11"
17
- s.summary = "Walk the stack in a Pry session"
18
- s.test_files = ["test/helper.rb", "test/test_commands.rb", "test/test_frame_manager.rb", "test/test_stack_explorer.rb"]
16
+ s.rubygems_version = %q{1.8.6}
17
+ s.summary = %q{Walk the stack in a Pry session}
18
+ s.test_files = [%q{test/helper.rb}, %q{test/test_commands.rb}, %q{test/test_frame_manager.rb}, %q{test/test_stack_explorer.rb}]
19
19
 
20
20
  if s.respond_to? :specification_version then
21
21
  s.specification_version = 3
22
22
 
23
23
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
24
24
  s.add_runtime_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
25
- s.add_runtime_dependency(%q<pry>, ["= 0.9.8pre4"])
25
+ s.add_runtime_dependency(%q<pry>, ["= 0.9.8pre6"])
26
26
  s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
27
27
  s.add_development_dependency(%q<rake>, ["~> 0.9"])
28
28
  else
29
29
  s.add_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
30
- s.add_dependency(%q<pry>, ["= 0.9.8pre4"])
30
+ s.add_dependency(%q<pry>, ["= 0.9.8pre6"])
31
31
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
32
32
  s.add_dependency(%q<rake>, ["~> 0.9"])
33
33
  end
34
34
  else
35
35
  s.add_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
36
- s.add_dependency(%q<pry>, ["= 0.9.8pre4"])
36
+ s.add_dependency(%q<pry>, ["= 0.9.8pre6"])
37
37
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
38
38
  s.add_dependency(%q<rake>, ["~> 0.9"])
39
39
  end
data/test/helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'rubygems'
2
+ require 'ostruct'
2
3
 
3
4
  unless Object.const_defined? 'PryStackExplorer'
4
5
  $:.unshift File.expand_path '../../lib', __FILE__
@@ -33,9 +33,9 @@ describe PryStackExplorer do
33
33
  class << o; attr_reader :frame; end
34
34
  def o.bing() bong end
35
35
  def o.bong() bang end
36
- def o.bang() Pry.start(binding, :initial_frame => 1) end
36
+ def o.bang() Pry.start(binding, :initial_frame => 1) end #*
37
37
 
38
- redirect_pry_io(StringIO.new("@frame = __method__\nexit\n"), out=StringIO.new) do
38
+ redirect_pry_io(StringIO.new("@frame = __method__\nexit-all\n"), out=StringIO.new) do
39
39
  o.bing
40
40
  end
41
41
 
@@ -93,14 +93,20 @@ describe PryStackExplorer do
93
93
  out.string.should =~ /beta.*?gamma.*?alpha/m
94
94
  end
95
95
 
96
- it 'should raise if custom call stack does not contain bindings or is empty' do
97
- redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
98
- lambda { Pry.start(binding, :call_stack => [1, 2, 3]) }.should.raise ArgumentError
96
+ it 'should raise if custom call stack does not contain bindings' do
97
+ o = OpenStruct.new
98
+ redirect_pry_io(StringIO.new("self.errors = _pry_.hooks.errors\nexit\n")) do
99
+ Pry.start(o, :call_stack => [1, 2, 3])
99
100
  end
101
+ o.errors.first.is_a?(ArgumentError).should == true
102
+ end
100
103
 
101
- redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
102
- lambda { Pry.start(binding, :call_stack => []) }.should.raise ArgumentError
104
+ it 'should raise if custom call stack is empty' do
105
+ o = OpenStruct.new
106
+ redirect_pry_io(StringIO.new("self.errors = _pry_.hooks.errors\nexit\n")) do
107
+ Pry.start o, :call_stack => []
103
108
  end
109
+ o.errors.first.is_a?(ArgumentError).should == true
104
110
  end
105
111
  end
106
112
  end
@@ -123,6 +129,12 @@ describe PryStackExplorer do
123
129
  PE.frame_managers(@pry_instance).count.should == 1
124
130
  end
125
131
 
132
+ it "should refresh Pry instance to use FrameManager's active binding" do
133
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
134
+ @pry_instance.binding_stack.size.should == 1
135
+ @pry_instance.binding_stack.first.should == @bindings.first
136
+ end
137
+
126
138
  it 'should save prior binding in FrameManager instance' do
127
139
  _pry_ = Pry.new
128
140
  _pry_.binding_stack.push(b=binding)
@@ -130,6 +142,28 @@ describe PryStackExplorer do
130
142
  PryStackExplorer.frame_manager(_pry_).prior_binding.should == b
131
143
  end
132
144
 
145
+ describe ":initial_frame option" do
146
+ it 'should start on specified frame' do
147
+ PE.create_and_push_frame_manager(@bindings, @pry_instance, :initial_frame => 1)
148
+ @pry_instance.binding_stack.size.should == 1
149
+ @pry_instance.binding_stack.first.should == @bindings.last
150
+ end
151
+
152
+ describe "negative numbers" do
153
+ it 'should work with negative frame number (-1)' do
154
+ PE.create_and_push_frame_manager(@bindings, @pry_instance, :initial_frame => -1)
155
+ @pry_instance.binding_stack.size.should == 1
156
+ @pry_instance.binding_stack.first.should == @bindings.last
157
+ end
158
+
159
+ it 'should work with negative frame number (-2)' do
160
+ PE.create_and_push_frame_manager(@bindings, @pry_instance, :initial_frame => -2)
161
+ @pry_instance.binding_stack.size.should == 1
162
+ @pry_instance.binding_stack.first.should == @bindings.first
163
+ end
164
+ end
165
+ end
166
+
133
167
  it 'should save prior backtrace in FrameManager instance' do
134
168
  _pry_ = Pry.new
135
169
  _pry_.backtrace = ["my backtrace"]
@@ -209,6 +243,53 @@ describe PryStackExplorer do
209
243
  PE.frame_hash.has_key?(@pry_instance).should == false
210
244
  end
211
245
 
246
+ it 'should not change size of binding_stack when popping' do
247
+ bindings = [bindings, bindings]
248
+ PE.create_and_push_frame_manager(bindings, @pry_instance)
249
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
250
+ PE.pop_frame_manager(@pry_instance)
251
+ @pry_instance.binding_stack.size.should == 1
252
+ end
253
+
254
+ it 'should return nil when popping non-existent frame manager' do
255
+ PE.pop_frame_manager(@pry_instance).should == nil
256
+ end
257
+
258
+ describe "restoring previous binding" do
259
+ it 'should restore previous binding for Pry instance on pop, where previous binding is not first frame' do
260
+ bindings = [binding, binding]
261
+ PE.create_and_push_frame_manager(bindings, @pry_instance).binding_index = 1
262
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
263
+ PE.pop_frame_manager(@pry_instance)
264
+ @pry_instance.binding_stack.first.should == bindings[1]
265
+ end
266
+
267
+ it 'should restore previous binding for Pry instance on pop (previous frame frame manager)' do
268
+ bindings = [binding, binding]
269
+ PE.create_and_push_frame_manager(bindings, @pry_instance)
270
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
271
+ PE.pop_frame_manager(@pry_instance)
272
+ @pry_instance.binding_stack.first.should == bindings.first
273
+ end
274
+
275
+ it 'should restore previous binding for Pry instance on pop (no previous frame manager)' do
276
+ b = binding
277
+ @pry_instance.binding_stack = [b]
278
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
279
+ PE.pop_frame_manager(@pry_instance)
280
+ @pry_instance.binding_stack.first.should == b
281
+ end
282
+
283
+ it 'should restore previous binding for Pry instance on pop (no previous frame manager AND no empty binding_stack)' do
284
+ b = binding
285
+ @pry_instance.binding_stack = [b]
286
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
287
+ @pry_instance.binding_stack.clear
288
+ PE.pop_frame_manager(@pry_instance)
289
+ @pry_instance.binding_stack.first.should == b
290
+ end
291
+ end
292
+
212
293
  describe "_pry_.backtrace" do
213
294
  it "should restore backtrace when frame is popped" do
214
295
  p1 = Pry.new
metadata CHANGED
@@ -1,70 +1,66 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: pry-stack_explorer
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.9pre5
4
5
  prerelease: 5
5
- version: 0.2.9pre4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - John Mair (banisterfiend)
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-01-16 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-20 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: binding_of_caller
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70127592869260 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.6.1
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: pry
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70127592869260
25
+ - !ruby/object:Gem::Dependency
26
+ name: pry
27
+ requirement: &70127592897240 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - "="
33
- - !ruby/object:Gem::Version
34
- version: 0.9.8pre4
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 0.9.8pre6
35
33
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: bacon
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70127592897240
36
+ - !ruby/object:Gem::Dependency
37
+ name: bacon
38
+ requirement: &70127592900320 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
40
+ requirements:
43
41
  - - ~>
44
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
45
43
  version: 1.1.0
46
44
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: rake
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *70127592900320
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: &70127592903060 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
51
+ requirements:
54
52
  - - ~>
55
- - !ruby/object:Gem::Version
56
- version: "0.9"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
57
55
  type: :development
58
- version_requirements: *id004
56
+ prerelease: false
57
+ version_requirements: *70127592903060
59
58
  description: Walk the stack in a Pry session
60
59
  email: jrmair@gmail.com
61
60
  executables: []
62
-
63
61
  extensions: []
64
-
65
62
  extra_rdoc_files: []
66
-
67
- files:
63
+ files:
68
64
  - .gemtest
69
65
  - .gitignore
70
66
  - .travis.yml
@@ -89,32 +85,29 @@ files:
89
85
  - tester.rb
90
86
  homepage: https://github.com/banister
91
87
  licenses: []
92
-
93
88
  post_install_message:
94
89
  rdoc_options: []
95
-
96
- require_paths:
90
+ require_paths:
97
91
  - lib
98
- required_ruby_version: !ruby/object:Gem::Requirement
92
+ required_ruby_version: !ruby/object:Gem::Requirement
99
93
  none: false
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
103
97
  version: 1.9.2
104
- required_rubygems_version: !ruby/object:Gem::Requirement
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
99
  none: false
106
- requirements:
107
- - - ">"
108
- - !ruby/object:Gem::Version
100
+ requirements:
101
+ - - ! '>'
102
+ - !ruby/object:Gem::Version
109
103
  version: 1.3.1
110
104
  requirements: []
111
-
112
105
  rubyforge_project:
113
- rubygems_version: 1.8.11
106
+ rubygems_version: 1.8.6
114
107
  signing_key:
115
108
  specification_version: 3
116
109
  summary: Walk the stack in a Pry session
117
- test_files:
110
+ test_files:
118
111
  - test/helper.rb
119
112
  - test/test_commands.rb
120
113
  - test/test_frame_manager.rb