pry-stack_explorer 0.1.0pre1 → 0.2.0pre1

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