pry-stack_explorer 0.4.11 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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
-