pry-stack_explorer 0.2.9pre7 → 0.3.0
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 +1 -1
- data/lib/pry-stack_explorer/commands.rb +21 -1
- data/lib/pry-stack_explorer/frame_manager.rb +3 -18
- data/lib/pry-stack_explorer/version.rb +1 -1
- data/pry-stack_explorer.gemspec +7 -7
- metadata +47 -54
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.
|
26
|
+
s.add_dependency("pry","~>0.9.8")
|
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'
|
@@ -15,6 +15,26 @@ module PryStackExplorer
|
|
15
15
|
frame_managers.count > 1 || frame_manager.prior_binding
|
16
16
|
end
|
17
17
|
|
18
|
+
# Return a description of the frame (binding).
|
19
|
+
# This is only useful for regular old bindings that have not been
|
20
|
+
# enhanced by `#of_caller`.
|
21
|
+
# @param [Binding] b The binding.
|
22
|
+
# @return [String] A description of the frame (binding).
|
23
|
+
def frame_description(b)
|
24
|
+
b_self = b.eval('self')
|
25
|
+
b_method = b.eval('__method__')
|
26
|
+
|
27
|
+
if b_method && b_method != :__binding__ && b_method != :__binding_impl__
|
28
|
+
b_method.to_s
|
29
|
+
elsif b_self.instance_of?(Module)
|
30
|
+
"<module:#{b_self}>"
|
31
|
+
elsif b_self.instance_of?(Class)
|
32
|
+
"<class:#{b_self}>"
|
33
|
+
else
|
34
|
+
"<main>"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
18
38
|
# Return a description of the passed binding object. Accepts an
|
19
39
|
# optional `verbose` parameter.
|
20
40
|
# @param [Binding] b The binding.
|
@@ -26,7 +46,7 @@ module PryStackExplorer
|
|
26
46
|
meth_obj = Pry::Method.from_binding(b) if meth
|
27
47
|
|
28
48
|
type = b.frame_type ? "[#{b.frame_type}]".ljust(9) : ""
|
29
|
-
desc = b.frame_description ? "#{b.frame_description}" : "#{
|
49
|
+
desc = b.frame_description ? "#{b.frame_description}" : "#{frame_description(b)}"
|
30
50
|
sig = meth_obj ? "<#{signature_with_owner(meth_obj)}>" : ""
|
31
51
|
|
32
52
|
self_clipped = "#{Pry.view_clip(b_self)}"
|
@@ -1,5 +1,8 @@
|
|
1
1
|
module PryStackExplorer
|
2
2
|
|
3
|
+
# This class represents a call-stack. It stores the
|
4
|
+
# frames that make up the stack and is responsible for updating the
|
5
|
+
# associated Pry instance to reflect the active frame. It is fully Enumerable.
|
3
6
|
class FrameManager
|
4
7
|
include Enumerable
|
5
8
|
|
@@ -35,24 +38,6 @@ module PryStackExplorer
|
|
35
38
|
bindings.each(&block)
|
36
39
|
end
|
37
40
|
|
38
|
-
# Return a description of the frame (binding)
|
39
|
-
# @param [Binding] b The binding.
|
40
|
-
# @return [String] A description of the frame (binding).
|
41
|
-
def frame_info_for(b)
|
42
|
-
b_self = b.eval('self')
|
43
|
-
b_method = b.eval('__method__')
|
44
|
-
|
45
|
-
if b_method && b_method != :__binding__ && b_method != :__binding_impl__
|
46
|
-
b_method.to_s
|
47
|
-
elsif b_self.instance_of?(Module)
|
48
|
-
"<module:#{b_self}>"
|
49
|
-
elsif b_self.instance_of?(Class)
|
50
|
-
"<class:#{b_self}>"
|
51
|
-
else
|
52
|
-
"<main>"
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
41
|
# Ensure the Pry instance's active binding is the frame manager's
|
57
42
|
# active binding.
|
58
43
|
def refresh_frame(run_whereami=true)
|
data/pry-stack_explorer.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "pry-stack_explorer"
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.3.0"
|
6
6
|
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["John Mair (banisterfiend)"]
|
9
|
-
s.date = "2012-01-
|
9
|
+
s.date = "2012-01-25"
|
10
10
|
s.description = "Walk the stack in a Pry session"
|
11
11
|
s.email = "jrmair@gmail.com"
|
12
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
13
|
s.homepage = "https://github.com/banister"
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
|
16
|
-
s.rubygems_version = "1.8.
|
16
|
+
s.rubygems_version = "1.8.10"
|
17
17
|
s.summary = "Walk the stack in a Pry session"
|
18
18
|
s.test_files = ["test/helper.rb", "test/test_commands.rb", "test/test_frame_manager.rb", "test/test_stack_explorer.rb"]
|
19
19
|
|
@@ -22,18 +22,18 @@ Gem::Specification.new do |s|
|
|
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>, ["
|
25
|
+
s.add_runtime_dependency(%q<pry>, ["~> 0.9.8"])
|
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>, ["
|
30
|
+
s.add_dependency(%q<pry>, ["~> 0.9.8"])
|
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>, ["
|
36
|
+
s.add_dependency(%q<pry>, ["~> 0.9.8"])
|
37
37
|
s.add_dependency(%q<bacon>, ["~> 1.1.0"])
|
38
38
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
39
39
|
end
|
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
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
|
+
prerelease:
|
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
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: binding_of_caller
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70158303917760 !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
|
-
|
24
|
+
version_requirements: *70158303917760
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: pry
|
27
|
+
requirement: &70158303916000 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 0.9.
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.9.8
|
35
33
|
type: :runtime
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: bacon
|
39
34
|
prerelease: false
|
40
|
-
|
35
|
+
version_requirements: *70158303916000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: bacon
|
38
|
+
requirement: &70158303914340 !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
|
-
|
46
|
+
version_requirements: *70158303914340
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: &70158303913780 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
|
-
requirements:
|
51
|
+
requirements:
|
54
52
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.9'
|
57
55
|
type: :development
|
58
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70158303913780
|
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
|
109
|
-
version:
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
110
104
|
requirements: []
|
111
|
-
|
112
105
|
rubyforge_project:
|
113
|
-
rubygems_version: 1.8.
|
106
|
+
rubygems_version: 1.8.10
|
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
|