pry-stack_explorer 0.2.9pre5 → 0.2.9pre7

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.8pre6")
26
+ s.add_dependency("pry","0.9.8pre7")
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'
@@ -38,10 +38,28 @@ module PryStackExplorer
38
38
  "#{type} #{desc} #{sig}\n in #{self_clipped} #{path}"
39
39
  end
40
40
  end
41
+
42
+ def signature_with_owner(meth_obj)
43
+ if !meth_obj.undefined?
44
+ args = meth_obj.parameters.inject([]) do |arr, (type, name)|
45
+ name ||= (type == :block ? 'block' : "arg#{arr.size + 1}")
46
+ arr << case type
47
+ when :req then name.to_s
48
+ when :opt then "#{name}=?"
49
+ when :rest then "*#{name}"
50
+ when :block then "&#{name}"
51
+ else '?'
52
+ end
53
+ end
54
+ "#{meth_obj.name_with_owner}(#{args.join(', ')})"
55
+ else
56
+ "#{meth_obj.name_with_owner}(UNKNOWN) (undefined method)"
57
+ end
58
+ end
41
59
  end
42
60
 
43
61
  Commands = Pry::CommandSet.new do
44
- command_class "up", "Go up to the caller's context. Accepts optional numeric parameter for how many frames to move up." do
62
+ create_command "up", "Go up to the caller's context. Accepts optional numeric parameter for how many frames to move up." do
45
63
  include FrameHelpers
46
64
 
47
65
  banner <<-BANNER
@@ -62,7 +80,7 @@ module PryStackExplorer
62
80
  end
63
81
  end
64
82
 
65
- command_class "down", "Go down to the callee's context. Accepts optional numeric parameter for how many frames to move down." do
83
+ create_command "down", "Go down to the callee's context. Accepts optional numeric parameter for how many frames to move down." do
66
84
  include FrameHelpers
67
85
 
68
86
  banner <<-BANNER
@@ -87,7 +105,7 @@ module PryStackExplorer
87
105
  end
88
106
  end
89
107
 
90
- command_class "show-stack", "Show all frames" do
108
+ create_command "show-stack", "Show all frames" do
91
109
  include FrameHelpers
92
110
 
93
111
  banner <<-BANNER
@@ -119,30 +137,12 @@ module PryStackExplorer
119
137
  end
120
138
  end
121
139
 
122
- private
123
- def signature_with_owner(meth_obj)
124
- if !meth_obj.undefined?
125
- args = meth_obj.parameters.inject([]) do |arr, (type, name)|
126
- name ||= (type == :block ? 'block' : "arg#{arr.size + 1}")
127
- arr << case type
128
- when :req then name.to_s
129
- when :opt then "#{name}=?"
130
- when :rest then "*#{name}"
131
- when :block then "&#{name}"
132
- else '?'
133
- end
134
- end
135
- "#{meth_obj.name_with_owner}(#{args.join(', ')})"
136
- else
137
- "#{meth_obj.name_with_owner}(UNKNOWN) (undefined method)"
138
- end
139
- end
140
140
  end
141
141
 
142
142
  # TODO: currently using `arg_string` as a work-around for a Slop
143
143
  # bug where `-2` (negative number) is interpreted as a
144
144
  # non-existent option rather than a non-option
145
- command_class "frame", "Switch to a particular frame. Accepts numeric parameter for the target frame to switch to (use with show-stack). Negative frame numbers allowed." do
145
+ create_command "frame", "Switch to a particular frame. Accepts numeric parameter for the target frame to switch to (use with show-stack). Negative frame numbers allowed." do
146
146
  include FrameHelpers
147
147
 
148
148
  banner <<-BANNER
@@ -157,8 +157,8 @@ module PryStackExplorer
157
157
  raise Pry::CommandError, "nowhere to go!"
158
158
  else
159
159
 
160
- if !arg_string.empty?
161
- frame_manager.change_frame_to arg_string.to_i
160
+ if args[0]
161
+ frame_manager.change_frame_to args[0].to_i
162
162
  else
163
163
  output.puts "##{frame_manager.binding_index} #{frame_info(target, true)}"
164
164
  end
@@ -1,3 +1,3 @@
1
1
  module PryStackExplorer
2
- VERSION = "0.2.9pre5"
2
+ VERSION = "0.2.9pre7"
3
3
  end
@@ -1,10 +1,8 @@
1
1
  module PryStackExplorer
2
2
  class WhenStartedHook
3
3
 
4
- def caller_bindings(binding_stack)
5
- target = binding_stack.last
6
-
7
- if binding.of_caller(7).eval('__method__') == :pry
4
+ def caller_bindings(target)
5
+ if binding.of_caller(8).eval('__method__') == :pry
8
6
  drop_number = 9
9
7
  else
10
8
  drop_number = 8
@@ -23,7 +21,7 @@ module PryStackExplorer
23
21
  bindings
24
22
  end
25
23
 
26
- def call(binding_stack, options, _pry_)
24
+ def call(target, options, _pry_)
27
25
  options = {
28
26
  :call_stack => true,
29
27
  :initial_frame => 0
@@ -38,7 +36,7 @@ module PryStackExplorer
38
36
  raise ArgumentError, ":call_stack must be an array of bindings"
39
37
  end
40
38
  else
41
- bindings = caller_bindings(binding_stack)
39
+ bindings = caller_bindings(target)
42
40
  end
43
41
 
44
42
  PryStackExplorer.create_and_push_frame_manager bindings, _pry_, :initial_frame => options[:initial_frame]
@@ -1,39 +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.9pre5"
4
+ s.name = "pry-stack_explorer"
5
+ s.version = "0.2.9pre7"
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{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}]
8
+ s.authors = ["John Mair (banisterfiend)"]
9
+ s.date = "2012-01-21"
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"]
15
15
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
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}]
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"]
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.8pre6"])
25
+ s.add_runtime_dependency(%q<pry>, ["= 0.9.8pre7"])
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.8pre6"])
30
+ s.add_dependency(%q<pry>, ["= 0.9.8pre7"])
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.8pre6"])
36
+ s.add_dependency(%q<pry>, ["= 0.9.8pre7"])
37
37
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
38
38
  s.add_dependency(%q<rake>, ["~> 0.9"])
39
39
  end
@@ -88,6 +88,16 @@ describe PryStackExplorer::Commands do
88
88
  @o.first_method.should == :bing
89
89
  end
90
90
 
91
+ it 'should return info on current frame when given no parameters' do
92
+ redirect_pry_io(InputTester.new("frame",
93
+ "exit-all"), out=StringIO.new) do
94
+ @o.bing
95
+ end
96
+
97
+ out.string.should =~ /\#0.*?bang/
98
+ out.string.should.not =~ /\#1/
99
+ end
100
+
91
101
  describe "negative indices" do
92
102
  it 'should work with negative frame numbers' do
93
103
  o = Object.new
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.9pre5
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease: 5
5
+ version: 0.2.9pre7
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: 2012-01-20 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-01-21 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: binding_of_caller
16
- requirement: &70127592869260 !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: *70127592869260
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: pry
27
- requirement: &70127592897240 !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.8pre6
31
+ requirements:
32
+ - - "="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.9.8pre7
33
35
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70127592897240
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: bacon
38
- requirement: &70127592900320 !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: *70127592900320
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: rake
49
- requirement: &70127592903060 !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: *70127592903060
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
@@ -85,29 +89,32 @@ files:
85
89
  - tester.rb
86
90
  homepage: https://github.com/banister
87
91
  licenses: []
92
+
88
93
  post_install_message:
89
94
  rdoc_options: []
90
- require_paths:
95
+
96
+ require_paths:
91
97
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
98
+ required_ruby_version: !ruby/object:Gem::Requirement
93
99
  none: false
94
- requirements:
95
- - - ! '>='
96
- - !ruby/object:Gem::Version
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
97
103
  version: 1.9.2
98
- required_rubygems_version: !ruby/object:Gem::Requirement
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
105
  none: false
100
- requirements:
101
- - - ! '>'
102
- - !ruby/object:Gem::Version
106
+ requirements:
107
+ - - ">"
108
+ - !ruby/object:Gem::Version
103
109
  version: 1.3.1
104
110
  requirements: []
111
+
105
112
  rubyforge_project:
106
- rubygems_version: 1.8.6
113
+ rubygems_version: 1.8.11
107
114
  signing_key:
108
115
  specification_version: 3
109
116
  summary: Walk the stack in a Pry session
110
- test_files:
117
+ test_files:
111
118
  - test/helper.rb
112
119
  - test/test_commands.rb
113
120
  - test/test_frame_manager.rb