pry-stack_explorer 0.1.0pre1 → 0.2.0pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,13 +7,6 @@ require "binding_of_caller"
7
7
 
8
8
  module PryStackExplorer
9
9
 
10
- def self.bindings_equal?(b1, b2)
11
- (b1.eval('self') == b2.eval('self')) &&
12
- (b1.eval('local_variables').map { |v| b1.eval("#{v}") } ==
13
- b2.eval('local_variables').map { |v| b2.eval("#{v}") }) &&
14
- (b1.eval('__method__') == b2.eval('__method__'))
15
- end
16
-
17
10
  def self.frame_manager
18
11
  Thread.current[:__pry_frame_manager__]
19
12
  end
@@ -22,6 +15,13 @@ module PryStackExplorer
22
15
  Thread.current[:__pry_frame_manager__] = obj
23
16
  end
24
17
 
18
+ def self.bindings_equal?(b1, b2)
19
+ (b1.eval('self') == b2.eval('self')) &&
20
+ (b1.eval('__method__') == b2.eval('__method__')) &&
21
+ (b1.eval('local_variables').map { |v| b1.eval("#{v}") } ==
22
+ b2.eval('local_variables').map { |v| b2.eval("#{v}") })
23
+ end
24
+
25
25
  class FrameManager
26
26
  attr_reader :pry_instance
27
27
  attr_reader :binding_index
@@ -50,15 +50,23 @@ module PryStackExplorer
50
50
  command "up", "Go up to the caller's context" do |inc_str|
51
51
  inc = inc_str.nil? ? 1 : inc_str.to_i
52
52
 
53
- binding_index = PryStackExplorer.frame_manager.binding_index
54
- PryStackExplorer.frame_manager.change_binding_to binding_index + inc, _pry_
53
+ if !PryStackExplorer.frame_manager
54
+ output.puts "Nowhere to go!"
55
+ else
56
+ binding_index = PryStackExplorer.frame_manager.binding_index
57
+ PryStackExplorer.frame_manager.change_binding_to binding_index + inc, _pry_
58
+ end
55
59
  end
56
60
 
57
61
  command "down", "Go down to the callee's context." do |inc_str|
58
62
  inc = inc_str.nil? ? 1 : inc_str.to_i
59
63
 
60
- binding_index = PryStackExplorer.frame_manager.binding_index
61
- PryStackExplorer.frame_manager.change_binding_to binding_index - inc, _pry_
64
+ if !PryStackExplorer.frame_manager
65
+ output.puts "Nowhere to go!"
66
+ else
67
+ binding_index = PryStackExplorer.frame_manager.binding_index
68
+ PryStackExplorer.frame_manager.change_binding_to binding_index - inc, _pry_
69
+ end
62
70
  end
63
71
 
64
72
  command "frame", "Switch to a particular frame." do |frame_num|
@@ -97,7 +105,7 @@ class << Pry
97
105
 
98
106
  PryStackExplorer.frame_manager = PryStackExplorer::FrameManager.new(bindings)
99
107
 
100
- PSE_old_start(bindings.first)
108
+ PSE_old_start(bindings.first, *args, &block)
101
109
  end
102
110
  end
103
111
 
@@ -1,3 +1,3 @@
1
1
  module PryStackExplorer
2
- VERSION = "0.1.0pre1"
2
+ VERSION = "0.2.0pre1"
3
3
  end
metadata CHANGED
@@ -1,44 +1,65 @@
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.1.0pre1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1923831947
5
5
  prerelease: 5
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ - pre
11
+ - 1
12
+ version: 0.2.0pre1
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - John Mair (banisterfiend)
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2011-11-12 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2011-11-12 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
15
23
  name: binding_of_caller
16
- requirement: &70113215144440 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
17
26
  none: false
18
- requirements:
27
+ requirements:
19
28
  - - ~>
20
- - !ruby/object:Gem::Version
29
+ - !ruby/object:Gem::Version
30
+ hash: 11
31
+ segments:
32
+ - 0
33
+ - 5
34
+ - 0
21
35
  version: 0.5.0
22
36
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70113215144440
25
- - !ruby/object:Gem::Dependency
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
26
39
  name: bacon
27
- requirement: &70113218908680 !ruby/object:Gem::Requirement
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
28
42
  none: false
29
- requirements:
43
+ requirements:
30
44
  - - ~>
31
- - !ruby/object:Gem::Version
45
+ - !ruby/object:Gem::Version
46
+ hash: 19
47
+ segments:
48
+ - 1
49
+ - 1
50
+ - 0
32
51
  version: 1.1.0
33
52
  type: :development
34
- prerelease: false
35
- version_requirements: *70113218908680
53
+ version_requirements: *id002
36
54
  description: Walk the stack in a Pry session
37
55
  email: jrmair@gmail.com
38
56
  executables: []
57
+
39
58
  extensions: []
59
+
40
60
  extra_rdoc_files: []
41
- files:
61
+
62
+ files:
42
63
  - lib/pry-stack_explorer/version.rb
43
64
  - lib/pry-stack_explorer.rb
44
65
  - test/test.rb
@@ -47,26 +68,38 @@ files:
47
68
  - Rakefile
48
69
  homepage: https://github.com/banister
49
70
  licenses: []
71
+
50
72
  post_install_message:
51
73
  rdoc_options: []
52
- require_paths:
74
+
75
+ require_paths:
53
76
  - lib
54
- required_ruby_version: !ruby/object:Gem::Requirement
77
+ required_ruby_version: !ruby/object:Gem::Requirement
55
78
  none: false
56
- requirements:
57
- - - ! '>='
58
- - !ruby/object:Gem::Version
59
- version: '0'
60
- required_rubygems_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
87
  none: false
62
- requirements:
63
- - - ! '>'
64
- - !ruby/object:Gem::Version
88
+ requirements:
89
+ - - ">"
90
+ - !ruby/object:Gem::Version
91
+ hash: 25
92
+ segments:
93
+ - 1
94
+ - 3
95
+ - 1
65
96
  version: 1.3.1
66
97
  requirements: []
98
+
67
99
  rubyforge_project:
68
100
  rubygems_version: 1.8.10
69
101
  signing_key:
70
102
  specification_version: 3
71
103
  summary: Walk the stack in a Pry session
72
104
  test_files: []
105
+