pry-stack_explorer 0.2.8pre7 → 0.2.8pre8

Sign up to get free protection for your applications and to get access to all the features.
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.8pre2")
26
+ s.add_dependency("pry","0.9.8pre3")
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'
@@ -60,6 +60,9 @@ task :test do
60
60
  sh "bacon -Itest -rubygems -a -q"
61
61
  end
62
62
 
63
+ desc "generate gemspec"
64
+ task :gemspec => "ruby:gemspec"
65
+
63
66
  namespace :ruby do
64
67
  spec = Gem::Specification.new do |s|
65
68
  apply_spec_defaults(s)
@@ -80,7 +83,7 @@ namespace :ruby do
80
83
  end
81
84
 
82
85
  desc "build all platform gems at once"
83
- task :gems => [:clean, :rmgems, "ruby:gem"]
86
+ task :gems => [:clean, :rmgems, :gemspec, "ruby:gem"]
84
87
 
85
88
  desc "remove all platform gems"
86
89
  task :rmgems => ["ruby:clobber_package"]
@@ -66,23 +66,32 @@ Pry.config.hooks.add_hook(:after_session, :delete_frame_manager) do |_, _, _pry_
66
66
  PryStackExplorer.clear_frame_managers(_pry_)
67
67
  end
68
68
 
69
- Pry.config.hooks.add_hook(:when_started, :save_caller_bindings) do |binding_stack, _pry_|
70
- target = binding_stack.last
69
+ Pry.config.hooks.add_hook(:when_started, :save_caller_bindings) do |binding_stack, options, _pry_|
70
+ options[:call_stack] = true unless options.has_key?(:call_stack)
71
71
 
72
- if binding.of_caller(6).eval('__method__') == :pry
73
- drop_number = 7
74
- else
75
- drop_number = 6
76
- end
72
+ next if !options[:call_stack]
77
73
 
78
- bindings = binding.callers.drop(drop_number)
79
-
80
- # Use the binding returned by #of_caller if possible (as we get
81
- # access to frame_type).
82
- # Otherwise stick to the given binding (target).
83
- if !PryStackExplorer.bindings_equal?(target, bindings.first)
84
- bindings.shift
85
- bindings.unshift(target)
74
+ if options[:call_stack].is_a?(Array)
75
+ bindings = options[:call_stack]
76
+ raise ArgumentError, ":call_stack must be an array of bindings" if bindings.empty? || !bindings.all? { |v| v.is_a?(Binding) }
77
+ else
78
+ target = binding_stack.last
79
+
80
+ if binding.of_caller(6).eval('__method__') == :pry
81
+ drop_number = 7
82
+ else
83
+ drop_number = 6
84
+ end
85
+
86
+ bindings = binding.callers.drop(drop_number)
87
+
88
+ # Use the binding returned by #of_caller if possible (as we get
89
+ # access to frame_type).
90
+ # Otherwise stick to the given binding (target).
91
+ if !PryStackExplorer.bindings_equal?(target, bindings.first)
92
+ bindings.shift
93
+ bindings.unshift(target)
94
+ end
86
95
  end
87
96
 
88
97
  binding_stack.replace([bindings.first])
@@ -28,8 +28,8 @@ module PryStackExplorer
28
28
  end
29
29
  end
30
30
 
31
- command "show-stack", "Show all frames" do |*args|
32
- opts = parse_options!(args) do |opt|
31
+ command_class "show-stack", "Show all frames" do
32
+ def options(opt)
33
33
  opt.banner unindent <<-USAGE
34
34
  Usage: show-stack [OPTIONS]
35
35
  Show all accessible stack frames.
@@ -39,21 +39,23 @@ module PryStackExplorer
39
39
  opt.on :v, :verbose, "Include extra information."
40
40
  end
41
41
 
42
- if !PryStackExplorer.frame_manager(_pry_)
43
- output.puts "No caller stack available!"
44
- else
45
- content = ""
46
- content << "\n#{text.bold('Showing all accessible frames in stack:')}\n--\n"
47
-
48
- PryStackExplorer.frame_manager(_pry_).each_with_index do |b, i|
49
- if i == PryStackExplorer.frame_manager(_pry_).binding_index
50
- content << "=> ##{i} #{frame_info(b, opts[:v])}\n"
51
- else
52
- content << " ##{i} #{frame_info(b, opts[:v])}\n"
42
+ def process
43
+ if !PryStackExplorer.frame_manager(_pry_)
44
+ output.puts "No caller stack available!"
45
+ else
46
+ content = ""
47
+ content << "\n#{text.bold('Showing all accessible frames in stack:')}\n--\n"
48
+
49
+ PryStackExplorer.frame_manager(_pry_).each_with_index do |b, i|
50
+ if i == PryStackExplorer.frame_manager(_pry_).binding_index
51
+ content << "=> ##{i} #{frame_info(b, opts[:v])}\n"
52
+ else
53
+ content << " ##{i} #{frame_info(b, opts[:v])}\n"
54
+ end
53
55
  end
54
- end
55
56
 
56
- stagger_output content
57
+ stagger_output content
58
+ end
57
59
  end
58
60
  end
59
61
 
@@ -1,3 +1,3 @@
1
1
  module PryStackExplorer
2
- VERSION = "0.2.8pre7"
2
+ VERSION = "0.2.8pre8"
3
3
  end
@@ -1,38 +1,39 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = %q{pry-stack_explorer}
5
- s.version = "0.2.8pre6"
4
+ s.name = "pry-stack_explorer"
5
+ s.version = "0.2.8pre8"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
- s.authors = [%q{John Mair (banisterfiend)}]
9
- s.date = %q{2011-12-21}
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{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{pry-stack_explorer.gemspec}, %q{test/helper.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
- s.rubygems_version = %q{1.8.6}
16
- s.summary = %q{Walk the stack in a Pry session}
17
- s.test_files = [%q{test/helper.rb}, %q{test/test_frame_manager.rb}, %q{test/test_stack_explorer.rb}]
8
+ s.authors = ["John Mair (banisterfiend)"]
9
+ s.date = "2012-01-05"
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", "pry-stack_explorer.gemspec", "test/helper.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"]
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_frame_manager.rb", "test/test_stack_explorer.rb"]
18
19
 
19
20
  if s.respond_to? :specification_version then
20
21
  s.specification_version = 3
21
22
 
22
23
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
23
24
  s.add_runtime_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
24
- s.add_runtime_dependency(%q<pry>, ["= 0.9.8pre2"])
25
+ s.add_runtime_dependency(%q<pry>, ["= 0.9.8pre3"])
25
26
  s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
26
27
  s.add_development_dependency(%q<rake>, ["~> 0.9"])
27
28
  else
28
29
  s.add_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
29
- s.add_dependency(%q<pry>, ["= 0.9.8pre2"])
30
+ s.add_dependency(%q<pry>, ["= 0.9.8pre3"])
30
31
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
31
32
  s.add_dependency(%q<rake>, ["~> 0.9"])
32
33
  end
33
34
  else
34
35
  s.add_dependency(%q<binding_of_caller>, ["~> 0.6.1"])
35
- s.add_dependency(%q<pry>, ["= 0.9.8pre2"])
36
+ s.add_dependency(%q<pry>, ["= 0.9.8pre3"])
36
37
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
37
38
  s.add_dependency(%q<rake>, ["~> 0.9"])
38
39
  end
@@ -11,3 +11,76 @@ puts "Testing pry-stack_explorer version #{PryStackExplorer::VERSION}..."
11
11
  puts "Ruby version: #{RUBY_VERSION}"
12
12
 
13
13
  PE = PryStackExplorer
14
+
15
+ class << Pry
16
+ alias_method :orig_reset_defaults, :reset_defaults
17
+ def reset_defaults
18
+ orig_reset_defaults
19
+
20
+ Pry.color = false
21
+ Pry.pager = false
22
+ Pry.config.should_load_rc = false
23
+ Pry.config.plugins.enabled = false
24
+ Pry.config.history.should_load = false
25
+ Pry.config.history.should_save = false
26
+ Pry.config.auto_indent = false
27
+ Pry.config.hooks = Pry::Hooks.new
28
+ Pry.config.collision_warning = false
29
+ end
30
+ end
31
+
32
+ #Pry.config.hooks.clear(:before_session)
33
+
34
+ AfterSessionHook = Pry.config.hooks.get_hook(:after_session, :delete_frame_manager)
35
+ WhenStartedHook = Pry.config.hooks.get_hook(:when_started, :save_caller_bindings)
36
+ Pry.reset_defaults
37
+
38
+ class InputTester
39
+ def initialize(*actions)
40
+ if actions.last.is_a?(Hash) && actions.last.keys == [:history]
41
+ @hist = actions.pop[:history]
42
+ end
43
+ @orig_actions = actions.dup
44
+ @actions = actions
45
+ end
46
+
47
+ def readline(*)
48
+ @actions.shift.tap{ |line| @hist << line if @hist }
49
+ end
50
+
51
+ def rewind
52
+ @actions = @orig_actions.dup
53
+ end
54
+ end
55
+
56
+ # Set I/O streams.
57
+ #
58
+ # Out defaults to an anonymous StringIO.
59
+ #
60
+ def redirect_pry_io(new_in, new_out = StringIO.new)
61
+ old_in = Pry.input
62
+ old_out = Pry.output
63
+
64
+ Pry.input = new_in
65
+ Pry.output = new_out
66
+ begin
67
+ yield
68
+ ensure
69
+ Pry.input = old_in
70
+ Pry.output = old_out
71
+ end
72
+ end
73
+
74
+ def mock_pry(*args)
75
+
76
+ binding = args.first.is_a?(Binding) ? args.shift : binding()
77
+
78
+ input = InputTester.new(*args)
79
+ output = StringIO.new
80
+
81
+ redirect_pry_io(input, output) do
82
+ binding.pry
83
+ end
84
+
85
+ output.string
86
+ end
@@ -1,105 +1,168 @@
1
- require 'helper'
2
-
3
- describe PryStackExplorer do
4
-
5
- before do
6
- @pry_instance = Pry.new
7
- @bindings = [binding, binding]
8
- end
9
-
10
- after do
11
- PE.clear_frame_managers(@pry_instance)
12
- end
13
-
14
- describe "PryStackExplorer.create_and_push_frame_manager" do
15
- it "should create and push one new FrameManager" do
16
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
17
- PE.frame_manager(@pry_instance).is_a?(PE::FrameManager).should == true
18
- PE.all_frame_managers(@pry_instance).count.should == 1
19
- end
20
-
21
- it "should create and push multiple FrameManagers" do
22
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
23
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
24
- PE.all_frame_managers(@pry_instance).count.should == 2
25
- end
26
-
27
- it 'should push FrameManagers to stacks based on Pry instance' do
28
- p2 = Pry.new
29
- bindings = [binding, binding]
30
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
31
- PE.create_and_push_frame_manager(bindings, p2)
32
- PE.all_frame_managers(@pry_instance).count.should == 1
33
- PE.all_frame_managers(p2).count.should == 1
34
- end
35
- end
36
-
37
- describe "PryStackExplorer.frame_manager" do
38
- it "should have the correct bindings" do
39
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
40
- PE.frame_manager(@pry_instance).bindings.should == @bindings
41
- end
42
-
43
- it "should return the last pushed FrameManager" do
44
- bindings = [binding, binding]
45
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
46
- PE.create_and_push_frame_manager(bindings, @pry_instance)
47
- PE.frame_manager(@pry_instance).bindings.should == bindings
48
- end
49
-
50
- it "should return the correct FrameManager for the given Pry instance" do
51
- bindings = [binding, binding]
52
- p2 = Pry.new
53
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
54
- PE.create_and_push_frame_manager(bindings, p2)
55
- PE.frame_manager(@pry_instance).bindings.should == @bindings
56
- PE.frame_manager(p2).bindings.should == bindings
57
- end
58
- end
59
-
60
- describe "PryStackExplorer.pop_frame_manager" do
61
- it "should remove FrameManager from stack" do
62
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
63
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
64
- PE.pop_frame_manager(@pry_instance)
65
- PE.all_frame_managers(@pry_instance).count.should == 1
66
- end
67
-
68
- it "should return the most recently added FrameManager" do
69
- bindings = [binding, binding]
70
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
71
- PE.create_and_push_frame_manager(bindings, @pry_instance)
72
- PE.pop_frame_manager(@pry_instance).bindings.should == bindings
73
- end
74
-
75
- it "should remove FrameManager from the appropriate stack based on Pry instance" do
76
- p2 = Pry.new
77
- bindings = [binding, binding]
78
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
79
- PE.create_and_push_frame_manager(bindings, p2)
80
- PE.pop_frame_manager(@pry_instance)
81
- PE.all_frame_managers(@pry_instance).count.should == 0
82
- PE.all_frame_managers(p2).count.should == 1
83
- end
84
- end
85
-
86
- describe "PryStackExplorer.clear_frame_managers" do
87
- it "should clear all FrameManagers for a Pry instance" do
88
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
89
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
90
- PE.clear_frame_managers(@pry_instance)
91
- PE.all_frame_managers(@pry_instance).count.should == 0
92
- end
93
-
94
- it "should clear all FrameManagers for a Pry instance" do
95
- p2 = Pry.new
96
- bindings = [binding, binding]
97
- PE.create_and_push_frame_manager(@bindings, @pry_instance)
98
- PE.create_and_push_frame_manager(bindings, p2)
99
- PE.clear_frame_managers(@pry_instance)
100
- PE.all_frame_managers(p2).count.should == 1
101
- PE.all_frame_managers(@pry_instance).count.should == 0
102
- end
103
- end
104
- end
105
-
1
+ require 'helper'
2
+
3
+ describe PryStackExplorer do
4
+
5
+ describe "Pry.start" do
6
+ before do
7
+ Pry.config.hooks.add_hook(:when_started, :save_caller_bindings, &WhenStartedHook)
8
+ Pry.config.hooks.add_hook(:after_session, :delete_frame_manager, &AfterSessionHook)
9
+ end
10
+
11
+ after do
12
+ Pry.config.hooks.delete_hook(:when_started, :save_caller_bindings)
13
+ Pry.config.hooks.delete_hook(:after_session, :delete_frame_manager)
14
+ end
15
+
16
+ it 'should invoke a session with the call stack set' do
17
+ o = Object.new
18
+ def o.bing() bong end
19
+ def o.bong() bang end
20
+ def o.bang() Pry.start(binding) end
21
+
22
+ redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
23
+ o.bing
24
+ end
25
+
26
+ out.string.should =~ /bang.*?bong.*?bing/m
27
+ end
28
+
29
+ it 'should set no call stack when :call_stack => false' do
30
+ o = Object.new
31
+ def o.bing() bong end
32
+ def o.bong() bang end
33
+ def o.bang() Pry.start(binding, :call_stack => false) end
34
+
35
+ redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
36
+ o.bing
37
+ end
38
+
39
+ out.string.should =~ /No caller stack/
40
+ end
41
+
42
+ it 'should set custom call stack when :call_stack => [b1, b2]' do
43
+ o = Object.new
44
+ def o.alpha() binding end
45
+ def o.beta() binding end
46
+ def o.gamma() binding end
47
+
48
+ redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
49
+ Pry.start(binding, :call_stack => [o.beta, o.gamma, o.alpha])
50
+ end
51
+
52
+ out.string.should =~ /beta.*?gamma.*?alpha/m
53
+ end
54
+
55
+ it 'should raise if custom call stack does not contain bindings or is empty' do
56
+ redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
57
+ lambda { Pry.start(binding, :call_stack => [1, 2, 3]) }.should.raise ArgumentError
58
+ end
59
+
60
+ redirect_pry_io(StringIO.new("show-stack\nexit\n"), out=StringIO.new) do
61
+ lambda { Pry.start(binding, :call_stack => []) }.should.raise ArgumentError
62
+ end
63
+ end
64
+ end
65
+
66
+ describe "unit tests for PryStackExplorer class methods" do
67
+ before do
68
+ @pry_instance = Pry.new
69
+ @bindings = [binding, binding]
70
+ end
71
+
72
+ after do
73
+ PE.clear_frame_managers(@pry_instance)
74
+ end
75
+
76
+ describe "PryStackExplorer.create_and_push_frame_manager" do
77
+
78
+ it "should create and push one new FrameManager" do
79
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
80
+ PE.frame_manager(@pry_instance).is_a?(PE::FrameManager).should == true
81
+ PE.all_frame_managers(@pry_instance).count.should == 1
82
+ end
83
+
84
+ it "should create and push multiple FrameManagers" do
85
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
86
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
87
+ PE.all_frame_managers(@pry_instance).count.should == 2
88
+ end
89
+
90
+ it 'should push FrameManagers to stacks based on Pry instance' do
91
+ p2 = Pry.new
92
+ bindings = [binding, binding]
93
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
94
+ PE.create_and_push_frame_manager(bindings, p2)
95
+ PE.all_frame_managers(@pry_instance).count.should == 1
96
+ PE.all_frame_managers(p2).count.should == 1
97
+ end
98
+ end
99
+
100
+ describe "PryStackExplorer.frame_manager" do
101
+ it "should have the correct bindings" do
102
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
103
+ PE.frame_manager(@pry_instance).bindings.should == @bindings
104
+ end
105
+
106
+ it "should return the last pushed FrameManager" do
107
+ bindings = [binding, binding]
108
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
109
+ PE.create_and_push_frame_manager(bindings, @pry_instance)
110
+ PE.frame_manager(@pry_instance).bindings.should == bindings
111
+ end
112
+
113
+ it "should return the correct FrameManager for the given Pry instance" do
114
+ bindings = [binding, binding]
115
+ p2 = Pry.new
116
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
117
+ PE.create_and_push_frame_manager(bindings, p2)
118
+ PE.frame_manager(@pry_instance).bindings.should == @bindings
119
+ PE.frame_manager(p2).bindings.should == bindings
120
+ end
121
+ end
122
+
123
+ describe "PryStackExplorer.pop_frame_manager" do
124
+ it "should remove FrameManager from stack" do
125
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
126
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
127
+ PE.pop_frame_manager(@pry_instance)
128
+ PE.all_frame_managers(@pry_instance).count.should == 1
129
+ end
130
+
131
+ it "should return the most recently added FrameManager" do
132
+ bindings = [binding, binding]
133
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
134
+ PE.create_and_push_frame_manager(bindings, @pry_instance)
135
+ PE.pop_frame_manager(@pry_instance).bindings.should == bindings
136
+ end
137
+
138
+ it "should remove FrameManager from the appropriate stack based on Pry instance" do
139
+ p2 = Pry.new
140
+ bindings = [binding, binding]
141
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
142
+ PE.create_and_push_frame_manager(bindings, p2)
143
+ PE.pop_frame_manager(@pry_instance)
144
+ PE.all_frame_managers(@pry_instance).count.should == 0
145
+ PE.all_frame_managers(p2).count.should == 1
146
+ end
147
+ end
148
+
149
+ describe "PryStackExplorer.clear_frame_managers" do
150
+ it "should clear all FrameManagers for a Pry instance" do
151
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
152
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
153
+ PE.clear_frame_managers(@pry_instance)
154
+ PE.all_frame_managers(@pry_instance).count.should == 0
155
+ end
156
+
157
+ it "should clear all FrameManagers for a Pry instance" do
158
+ p2 = Pry.new
159
+ bindings = [binding, binding]
160
+ PE.create_and_push_frame_manager(@bindings, @pry_instance)
161
+ PE.create_and_push_frame_manager(bindings, p2)
162
+ PE.clear_frame_managers(@pry_instance)
163
+ PE.all_frame_managers(p2).count.should == 1
164
+ PE.all_frame_managers(@pry_instance).count.should == 0
165
+ end
166
+ end
167
+ end
168
+ end
metadata CHANGED
@@ -1,66 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: pry-stack_explorer
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.8pre7
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease: 5
5
+ version: 0.2.8pre8
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
- date: 2011-12-22 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-01-05 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: binding_of_caller
16
- requirement: &70297085157800 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
20
+ requirements:
19
21
  - - ~>
20
- - !ruby/object:Gem::Version
22
+ - !ruby/object:Gem::Version
21
23
  version: 0.6.1
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70297085157800
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: pry
27
- requirement: &70297085156300 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
30
- - - =
31
- - !ruby/object:Gem::Version
32
- version: 0.9.8pre2
31
+ requirements:
32
+ - - "="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.9.8pre3
33
35
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70297085156300
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: bacon
38
- requirement: &70297088892900 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
39
41
  none: false
40
- requirements:
42
+ requirements:
41
43
  - - ~>
42
- - !ruby/object:Gem::Version
44
+ - !ruby/object:Gem::Version
43
45
  version: 1.1.0
44
46
  type: :development
45
- prerelease: false
46
- version_requirements: *70297088892900
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: rake
49
- requirement: &70297088891420 !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
50
52
  none: false
51
- requirements:
53
+ requirements:
52
54
  - - ~>
53
- - !ruby/object:Gem::Version
54
- version: '0.9'
55
+ - !ruby/object:Gem::Version
56
+ version: "0.9"
55
57
  type: :development
56
- prerelease: false
57
- version_requirements: *70297088891420
58
+ version_requirements: *id004
58
59
  description: Walk the stack in a Pry session
59
60
  email: jrmair@gmail.com
60
61
  executables: []
62
+
61
63
  extensions: []
64
+
62
65
  extra_rdoc_files: []
63
- files:
66
+
67
+ files:
64
68
  - .gemtest
65
69
  - .gitignore
66
70
  - .travis.yml
@@ -83,29 +87,32 @@ files:
83
87
  - tester.rb
84
88
  homepage: https://github.com/banister
85
89
  licenses: []
90
+
86
91
  post_install_message:
87
92
  rdoc_options: []
88
- require_paths:
93
+
94
+ require_paths:
89
95
  - lib
90
- required_ruby_version: !ruby/object:Gem::Requirement
96
+ required_ruby_version: !ruby/object:Gem::Requirement
91
97
  none: false
92
- requirements:
93
- - - ! '>='
94
- - !ruby/object:Gem::Version
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
95
101
  version: 1.9.2
96
- required_rubygems_version: !ruby/object:Gem::Requirement
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
103
  none: false
98
- requirements:
99
- - - ! '>'
100
- - !ruby/object:Gem::Version
104
+ requirements:
105
+ - - ">"
106
+ - !ruby/object:Gem::Version
101
107
  version: 1.3.1
102
108
  requirements: []
109
+
103
110
  rubyforge_project:
104
- rubygems_version: 1.8.10
111
+ rubygems_version: 1.8.11
105
112
  signing_key:
106
113
  specification_version: 3
107
114
  summary: Walk the stack in a Pry session
108
- test_files:
115
+ test_files:
109
116
  - test/helper.rb
110
117
  - test/test_frame_manager.rb
111
118
  - test/test_stack_explorer.rb