pry-stack_explorer 0.4.11 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69b3c43b4da5446c7b79e367309e6b193105c5590f5973ea4cd0761857d621d6
4
- data.tar.gz: 0c3071f239ddfe47f30d1dae39f5aea12915ea0adab75de6798185c93a6a6ae9
3
+ metadata.gz: 7458ddda997e35095c5ebe7330a0ff651c4e424fdf0abbc6178fc8d7ae8367cb
4
+ data.tar.gz: ef6c275c07566ae94163be5df2f3358b671c4692789432a8dcd0e864891ee018
5
5
  SHA512:
6
- metadata.gz: 99b8615293d09922f305a11f33b8938c9bdd465e3888c59f3e7c24b2150d2ff2619c322bad2454cf07692a24f36b5ae2da56decbd2191d2d087c1d6dcdf7985b
7
- data.tar.gz: b3a9e68bf0a391d59330a6e2a4b09419f84da0ea131b22254c9bf4f617afd0c9eed114402d1b40071cb5ad741988d6c16fd5a75d3bf1d6ad918804c5eb8ce6bf
6
+ metadata.gz: c5f740846b70146461babd122cc2b67f4b97fce0697ffca96a8ec24be9abca029427a5500bc2e4b8d211fd574b31e719a8a97d9b9201b52c22c04a7137cb8a39
7
+ data.tar.gz: 80bdd4a91d73943051f83847ee7933763c06a3c089e50ed3e7b28d595a691a693bf1c4b5b11022bde82f7658922cc5bc3e81a025803deafad0ff7997135fc220
data/README.md CHANGED
@@ -3,10 +3,10 @@ pry-stack_explorer
3
3
 
4
4
  _Walk the stack in a Pry session_
5
5
 
6
- Note: **Requires Ruby 2.6+ as of version 0.5.0.**
6
+ ---
7
7
 
8
- pry-stack_explorer is a plugin for the [Pry](http://pry.github.com)
9
- REPL that enables the user to navigate the call-stack.
8
+ Pry::StackExplorer is a plugin for [Pry](http://pry.github.com)
9
+ that allows navigating the call stack.
10
10
 
11
11
  From the point a Pry session is started, the user can move up the stack
12
12
  through parent frames, examine state, and even evaluate code.
@@ -15,7 +15,7 @@ Unlike `ruby-debug`, pry-stack_explorer incurs no runtime cost and
15
15
  enables navigation right up the call-stack to the birth of the
16
16
  program.
17
17
 
18
- The `up`, `down`, `frame` and `show-stack` commands are provided. See
18
+ The `up`, `down`, `frame` and `stack` commands are provided. See
19
19
  Pry's in-session help for more information on any of these commands.
20
20
 
21
21
  ## Usage
@@ -24,7 +24,7 @@ Provides commands available in Pry sessions.
24
24
  Commands:
25
25
  * `up`/`down` - Move up or down the call stack
26
26
  * `frame [n]` - Go to frame *n*
27
- * `show-stack` - Show call stack
27
+ * `stack` - Show call stack
28
28
 
29
29
 
30
30
  ## Install
@@ -41,6 +41,12 @@ gem install pry-stack_explorer
41
41
  * Read the [documentation](http://rdoc.info/github/banister/pry-stack_explorer/master/file/README.md)
42
42
  * See the [wiki](https://github.com/pry/pry-stack_explorer/wiki) for in-depth usage information.
43
43
 
44
+
45
+ ### Branches and compatible Ruby versions
46
+ * v0.5: Ruby 2.6+, Pry 0.13+
47
+ * v0.4.11+: Ruby 2.5, Pry 0.12+ (branch `0-4` – end-of-life in March 2021)
48
+ * v0.4.9.3: Older versions (unsupported)
49
+
44
50
  Example:
45
51
  --------
46
52
  Here we run the following ruby script:
@@ -66,12 +72,6 @@ We wander around the stack a little bit, and modify the state of a frame above t
66
72
 
67
73
  Output from above is `Goodbye` as we changed the `x` local inside the `alpha` (caller) stack frame.
68
74
 
69
- Compatible versions
70
- -------------------
71
- * v0.5: Ruby 2.6+, Pry 0.13+
72
- * v0.4.10: Ruby 2.6+, Pry 0.12+
73
- * v0.4.9.3: Ruby 2.5 and older
74
-
75
75
 
76
76
  License
77
77
  -------
@@ -55,7 +55,7 @@ module PryStackExplorer
55
55
  sig = meth_obj ? "<#{signature_with_owner(meth_obj)}>" : ""
56
56
 
57
57
  self_clipped = "#{Pry.view_clip(b_self)}"
58
- path = "@ #{b.eval('__FILE__')}:#{b.eval('__LINE__')}"
58
+ path = '@ ' + b.source_location.join(':')
59
59
 
60
60
  if !verbose
61
61
  "#{type} #{desc} #{sig}"
@@ -231,13 +231,15 @@ module PryStackExplorer
231
231
  end
232
232
  end
233
233
 
234
- create_command "show-stack", "Show all frames" do
234
+ create_command "stack", "Show all frames" do
235
235
  include FrameHelpers
236
236
 
237
237
  banner <<-BANNER
238
- Usage: show-stack [OPTIONS]
238
+ Usage: stack [OPTIONS]
239
239
  Show all accessible stack frames.
240
- e.g: show-stack -v
240
+ e.g: stack -v
241
+
242
+ alias: show-stack
241
243
  BANNER
242
244
 
243
245
  def options(opt)
@@ -309,5 +311,8 @@ module PryStackExplorer
309
311
  end
310
312
 
311
313
  end
314
+
315
+ alias_command "show-stack", "stack"
316
+
312
317
  end
313
318
  end
@@ -1,3 +1,3 @@
1
- module PryStackExplorer
2
- VERSION = '0.4.11'
3
- end
1
+ module PryStackExplorer
2
+ VERSION = '0.6.0'
3
+ end
@@ -47,6 +47,8 @@ module PryStackExplorer
47
47
  # remove internal frames related to setting up the session
48
48
  def remove_internal_frames(bindings)
49
49
  start_frames = internal_frames_with_indices(bindings)
50
+ return bindings if start_frames.empty?
51
+
50
52
  start_frame_index = start_frames.first.last
51
53
 
52
54
  if start_frames.size >= 2
@@ -60,7 +62,7 @@ module PryStackExplorer
60
62
 
61
63
  # remove pry-nav / pry-debugger / pry-byebug frames
62
64
  def remove_debugger_frames(bindings)
63
- bindings.drop_while { |b| b.eval("__FILE__") =~ /pry-(?:nav|debugger|byebug)/ }
65
+ bindings.drop_while { |b| b.source_location[0] =~ /pry-(?:nav|debugger|byebug)/ }
64
66
  end
65
67
 
66
68
  # binding.pry frame
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-stack_explorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Mair (banisterfiend)
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2020-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: binding_of_caller
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.7'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.13'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bacon
42
+ name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.1.0
47
+ version: '3.9'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.1.0
54
+ version: '3.9'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,40 +66,25 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.9'
69
- description:
70
- email: jrmair@gmail.com
69
+ description:
70
+ email:
71
+ - jrmair@gmail.com
71
72
  executables: []
72
73
  extensions: []
73
74
  extra_rdoc_files: []
74
75
  files:
75
- - ".gemtest"
76
- - ".gitignore"
77
- - ".travis.yml"
78
- - ".yardopts"
79
- - CHANGELOG
80
- - Gemfile
81
76
  - LICENSE
82
77
  - README.md
83
- - Rakefile
84
- - examples/example.rb
85
- - examples/example2.rb
86
- - examples/example3.rb
87
78
  - lib/pry-stack_explorer.rb
88
79
  - lib/pry-stack_explorer/commands.rb
89
80
  - lib/pry-stack_explorer/frame_manager.rb
90
81
  - lib/pry-stack_explorer/version.rb
91
82
  - lib/pry-stack_explorer/when_started_hook.rb
92
- - pry-stack_explorer.gemspec
93
- - test/helper.rb
94
- - test/test_commands.rb
95
- - test/test_frame_manager.rb
96
- - test/test_stack_explorer.rb
97
- - tester.rb
98
83
  homepage: https://github.com/pry/pry-stack_explorer
99
84
  licenses:
100
85
  - MIT
101
86
  metadata: {}
102
- post_install_message:
87
+ post_install_message:
103
88
  rdoc_options: []
104
89
  require_paths:
105
90
  - lib
@@ -107,19 +92,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
92
  requirements:
108
93
  - - ">="
109
94
  - !ruby/object:Gem::Version
110
- version: 2.0.0
95
+ version: 2.6.0
111
96
  required_rubygems_version: !ruby/object:Gem::Requirement
112
97
  requirements:
113
98
  - - ">="
114
99
  - !ruby/object:Gem::Version
115
100
  version: '0'
116
101
  requirements: []
117
- rubygems_version: 3.1.2
118
- signing_key:
102
+ rubygems_version: 3.2.3
103
+ signing_key:
119
104
  specification_version: 4
120
105
  summary: Walk the stack in a Pry session
121
- test_files:
122
- - test/helper.rb
123
- - test/test_commands.rb
124
- - test/test_frame_manager.rb
125
- - test/test_stack_explorer.rb
106
+ test_files: []
data/.gemtest DELETED
File without changes
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- Makefile
2
- *.so
3
- *.o
4
- *.def
5
- doc/
6
- pkg/
7
- .yardoc/
8
- Gemfile.lock
9
- *.gem
@@ -1,27 +0,0 @@
1
- language: ruby
2
-
3
- script:
4
- rake test --trace
5
-
6
- before_install:
7
- - gem update --system
8
-
9
- rvm:
10
- - 2.5.3
11
- - 2.6.6
12
- - 2.7.1
13
- - ruby-head
14
-
15
- matrix:
16
- allow_failures:
17
- - rvm: ruby-head
18
- fast_finish: true
19
-
20
- notifications:
21
- irc: "irc.freenode.org#pry"
22
- email:
23
- - jrmair@gmail.com
24
-
25
- branches:
26
- only:
27
- - master
data/.yardopts DELETED
@@ -1 +0,0 @@
1
- --markup markdown
data/CHANGELOG DELETED
@@ -1,8 +0,0 @@
1
- ## v0.5.0 (21 May 2020)
2
- * Should fix most deprecation warnings as of release
3
- * Require Pry 0.13
4
- * Fix Pry#_pry_ => #pry_instance deprecation
5
-
6
- ## v0.4.11 (21 May 2020)
7
- * Special branch for Ruby 2.5
8
- * Fix Pry 0.13+ deprecations and broken `show-stack`
data/Gemfile DELETED
@@ -1,2 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
data/Rakefile DELETED
@@ -1,112 +0,0 @@
1
- $:.unshift 'lib'
2
-
3
- dlext = RbConfig::CONFIG['DLEXT']
4
- direc = File.dirname(__FILE__)
5
-
6
- PROJECT_NAME = "pry-stack_explorer"
7
-
8
- require 'rake/clean'
9
- require 'rubygems/package_task'
10
- require "#{PROJECT_NAME}/version"
11
-
12
- CLOBBER.include("**/*~", "**/*#*", "**/*.log")
13
- CLEAN.include("**/*#*", "**/*#*.*", "**/*_flymake*.*", "**/*_flymake",
14
- "**/*.rbc", "**/.#*.*")
15
-
16
- def apply_spec_defaults(s)
17
- s.name = PROJECT_NAME
18
- s.summary = "Walk the stack in a Pry session"
19
- s.version = PryStackExplorer::VERSION
20
- s.date = Time.now.strftime '%Y-%m-%d'
21
- s.author = "John Mair (banisterfiend)"
22
- s.email = 'jrmair@gmail.com'
23
- s.description = s.summary
24
- s.require_path = 'lib'
25
- s.add_dependency("binding_of_caller",">= 0.7")
26
- s.add_dependency("pry",">=0.9.11")
27
- s.add_development_dependency("bacon","~>1.1.0")
28
- s.add_development_dependency('rake', '~> 0.9')
29
- s.homepage = "https://github.com/pry/pry-stack_explorer"
30
- s.files = `git ls-files`.split("\n")
31
- s.test_files = `git ls-files -- test/*`.split("\n")
32
- end
33
-
34
- desc "run pry with plugin enabled"
35
- task :pry do
36
- exec("pry -I#{direc}/lib/ -r #{direc}/lib/#{PROJECT_NAME}")
37
- end
38
-
39
- desc "Run example"
40
- task :example do
41
- sh "ruby -I#{direc}/lib/ #{direc}/examples/example.rb "
42
- end
43
-
44
- desc "Run example2"
45
- task :example2 do
46
- sh "ruby -I#{direc}/lib/ #{direc}/examples/example2.rb "
47
- end
48
-
49
- desc "Run example3"
50
- task :example3 do
51
- sh "ruby -I#{direc}/lib/ #{direc}/examples/example3.rb "
52
- end
53
-
54
- desc "Show version"
55
- task :version do
56
- puts "PryStackExplorer version: #{PryStackExplorer::VERSION}"
57
- end
58
-
59
- desc "run tests"
60
- task :default => :test
61
-
62
- desc "run tests"
63
- task :test do
64
- sh "bacon -Itest -a -q"
65
- end
66
-
67
- desc "generate gemspec"
68
- task :gemspec => "ruby:gemspec"
69
-
70
- namespace :ruby do
71
- spec = Gem::Specification.new do |s|
72
- apply_spec_defaults(s)
73
- s.platform = Gem::Platform::RUBY
74
- end
75
-
76
- Gem::PackageTask.new(spec) do |pkg|
77
- pkg.need_zip = false
78
- pkg.need_tar = false
79
- end
80
-
81
- desc "Generate gemspec file"
82
- task :gemspec do
83
- File.open("#{spec.name}.gemspec", "w") do |f|
84
- f << spec.to_ruby
85
- end
86
- end
87
- end
88
-
89
- desc "build all platform gems at once"
90
- task :gems => [:clean, :rmgems, :gemspec, "ruby:gem"]
91
-
92
- desc "remove all platform gems"
93
- task :rmgems => ["ruby:clobber_package"]
94
-
95
- desc "reinstall gem"
96
- task :reinstall => :gems do
97
- sh "gem uninstall pry-stack_explorer" rescue nil
98
- sh "gem install -l #{direc}/pkg/#{PROJECT_NAME}-#{PryStackExplorer::VERSION}.gem"
99
- end
100
-
101
- task :install => :reinstall
102
-
103
- desc "build and push latest gems"
104
- task :pushgems => :gems do
105
- chdir("#{File.dirname(__FILE__)}/pkg") do
106
- Dir["*.gem"].each do |gemfile|
107
- sh "gem push #{gemfile}"
108
- end
109
- end
110
- end
111
-
112
- task :pushgem => :pushgems
@@ -1,45 +0,0 @@
1
- unless Object.const_defined? :PryStackExplorer
2
- $:.unshift File.expand_path '../../lib', __FILE__
3
- require 'pry'
4
- end
5
-
6
- require 'pry-stack_explorer'
7
-
8
- def alphabet(y)
9
- x = 20
10
- b
11
- end
12
-
13
- def b
14
- x = 30
15
- proc {
16
- c
17
- }.call
18
- end
19
-
20
- def c
21
- u = 50
22
- binding.pry
23
- end
24
-
25
- # hello
26
- def beta
27
- gamma
28
- end
29
-
30
- def gamma
31
- zeta
32
- end
33
-
34
- def zeta
35
- vitamin = 100
36
- binding.pry
37
- end
38
- #
39
-
40
- proc {
41
- class J
42
- alphabet(22)
43
- end
44
- }.call
45
-