pry-stack_explorer 0.2.9pre5 → 0.2.9pre7

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.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