pry-stack_explorer 0.4.9.3 → 0.6.1

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
- SHA1:
3
- metadata.gz: 6bb70a79cb849e48172099c2d9c3f5af036aef30
4
- data.tar.gz: 20fa1752792193771ddffc61d3c366567cba14cb
2
+ SHA256:
3
+ metadata.gz: 53b80cf3c06d7bdfaec826bed2ad1963a7bc69331d656e73b84d00e97a500197
4
+ data.tar.gz: 1942e6ad4fd0b43279d860aa06b2ca354b64eac8b713d426996b9a93a12f48d9
5
5
  SHA512:
6
- metadata.gz: af459d4520f7939f5f89969329e5db9240c00ecefc9b66b4db046456f5f67241cd344ea72cf18d0772708587ce11ce059becf1158e4e657d6ebcf9fe9c79ee4a
7
- data.tar.gz: bfc842c51b1314ea90f876e8b31609bb5ba36e0eaba2b89db041152cf95b8d5660abfe5b461f0b08cb344edac70fb62e8c120b0105ad2865e8bb88af3c6b5bc6
6
+ metadata.gz: 2c51eb15eb17f9edff667c93fbead5a7ffe7fa1c4cd3114e516a2057e37ab728e8436f5123908d0fac07a823b2a61fbcc50072429fc8f5081c3c85be5bcaf1d2
7
+ data.tar.gz: 24dc58f1bfda481a2eddee4e294c953e7ead4bee736da3f07bc142f237e7fcb8b41da9a1bd39517ae53fb34a892b7cd9f2faae3240c2e382031b09ba31eced21
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  pry-stack_explorer
2
2
  ===========
3
3
 
4
- (C) John Mair (banisterfiend) 2011
5
-
6
4
  _Walk the stack in a Pry session_
7
5
 
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.
6
+ ---
7
+
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,68 +15,66 @@ 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
- pry-stack_explorer is currently designed to work on **Rubinius and MRI
19
- Ruby 1.9.2+ (including 1.9.3)**. Support for other Ruby versions and
20
- implementations is planned for the future.
21
-
22
- The `up`, `down`, `frame` and `show-stack` commands are provided. See
18
+ The `up`, `down`, `frame` and `stack` commands are provided. See
23
19
  Pry's in-session help for more information on any of these commands.
24
20
 
25
- **How to use:**
21
+ ## Usage
22
+ Provides commands available in Pry sessions.
26
23
 
27
- After installing `pry-stack_explorer`, just start Pry as normal (typically via a `binding.pry`), the stack_explorer plugin will be detected and used automatically.
24
+ Commands:
25
+ * `up`/`down` - Move up or down the call stack
26
+ * `frame [n]` - Go to frame *n*
27
+ * `stack` - Show call stack
28
28
 
29
- * Install the [gem](https://rubygems.org/gems/pry-stack_explorer): `gem install pry-stack_explorer`
30
- * Read the [documentation](http://rdoc.info/github/banister/pry-stack_explorer/master/file/README.md)
31
- * See the [source code](http://github.com/pry/pry-stack_explorer)
32
- * See the [wiki](https://github.com/pry/pry-stack_explorer/wiki) for in-depth usage information.
33
29
 
34
- Example: Moving around between frames
35
- --------
30
+ ## Install
36
31
 
37
- [![asciicast](https://asciinema.org/a/eJnrZNaUhTl12AVtnCG304d0V.png)](https://asciinema.org/a/eJnrZNaUhTl12AVtnCG304d0V)
32
+ In Gemfile:
33
+ ```rb
34
+ gem 'pry-stack_explorer', '~> 0.6.0'
35
+ ```
38
36
 
39
- Example: Modifying state in a caller
40
- -------
37
+ ```
38
+ gem install pry-stack_explorer
39
+ ```
41
40
 
42
- [![asciicast](https://asciinema.org/a/0KtCL9HB1bP08wNHLfIeOMa8K.png)](https://asciinema.org/a/0KtCL9HB1bP08wNHLfIeOMa8K)
41
+ * Read the [documentation](http://rdoc.info/github/banister/pry-stack_explorer/master/file/README.md)
42
+ * See the [wiki](https://github.com/pry/pry-stack_explorer/wiki) for in-depth usage information.
43
43
 
44
- Output from above is `goodbye` as we changed the `x` local inside the `alpha` (caller) stack frame.
45
44
 
46
- Limitations
47
- -------------------------
45
+ ### Branches and compatible Ruby versions
46
+ * v0.5, v0.6: 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)
48
49
 
49
- * First release, so may have teething problems.
50
- * Limited to Rubinius, and MRI 1.9.2+ at this stage.
50
+ Example:
51
+ --------
52
+ Here we run the following ruby script:
53
+ ```Ruby
54
+ require 'pry-stack_explorer'
51
55
 
52
- Contact
53
- -------
56
+ def alpha
57
+ x = "hello"
58
+ beta
59
+ puts x
60
+ end
54
61
 
55
- Problems or questions contact me at [github](http://github.com/banister)
62
+ def beta
63
+ binding.pry
64
+ end
56
65
 
66
+ alpha
67
+ ```
57
68
 
58
- License
59
- -------
69
+ We wander around the stack a little bit, and modify the state of a frame above the one we `binding.pry`'d at.
60
70
 
61
- (The MIT License)
71
+ [![asciicast](https://asciinema.org/a/257713.svg)](https://asciinema.org/a/257713)
62
72
 
63
- Copyright (c) 2011 John Mair (banisterfiend)
73
+ Output from above is `Goodbye` as we changed the `x` local inside the `alpha` (caller) stack frame.
64
74
 
65
- Permission is hereby granted, free of charge, to any person obtaining
66
- a copy of this software and associated documentation files (the
67
- 'Software'), to deal in the Software without restriction, including
68
- without limitation the rights to use, copy, modify, merge, publish,
69
- distribute, sublicense, and/or sell copies of the Software, and to
70
- permit persons to whom the Software is furnished to do so, subject to
71
- the following conditions:
72
75
 
73
- The above copyright notice and this permission notice shall be
74
- included in all copies or substantial portions of the Software.
76
+ License
77
+ -------
78
+ Released under the [MIT License](https://github.com/pry/pry-stack_explorer/blob/master/LICENSE) by John Mair (banisterfiend) and contributors
75
79
 
76
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
77
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
78
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
79
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
80
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
81
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
82
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
80
+ Contributions to this gem are released under the same license.
@@ -5,13 +5,13 @@ module PryStackExplorer
5
5
  # @return [PryStackExplorer::FrameManager] The active frame manager for
6
6
  # the current `Pry` instance.
7
7
  def frame_manager
8
- PryStackExplorer.frame_manager(_pry_)
8
+ PryStackExplorer.frame_manager(pry_instance)
9
9
  end
10
10
 
11
11
  # @return [Array<PryStackExplorer::FrameManager>] All the frame
12
12
  # managers for the current `Pry` instance.
13
13
  def frame_managers
14
- PryStackExplorer.frame_managers(_pry_)
14
+ PryStackExplorer.frame_managers(pry_instance)
15
15
  end
16
16
 
17
17
  # @return [Boolean] Whether there is a context to return to once
@@ -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)
@@ -245,6 +247,7 @@ module PryStackExplorer
245
247
  opt.on :H, :head, "Display the first N stack frames (defaults to 10).", :optional_argument => true, :as => Integer, :default => 10
246
248
  opt.on :T, :tail, "Display the last N stack frames (defaults to 10).", :optional_argument => true, :as => Integer, :default => 10
247
249
  opt.on :c, :current, "Display N frames either side of current frame (default to 5).", :optional_argument => true, :as => Integer, :default => 5
250
+ opt.on :a, :app, "Display application frames only", optional_argument: true
248
251
  end
249
252
 
250
253
  def memoized_info(index, b, verbose)
@@ -288,26 +291,75 @@ module PryStackExplorer
288
291
  private :selected_stack_frames
289
292
 
290
293
  def process
291
- if !frame_manager
292
- output.puts "No caller stack available!"
294
+ return no_stack_available! unless frame_manager
295
+
296
+ title = "Showing all accessible frames in stack (#{frame_manager.bindings.size} in total):"
297
+
298
+ content = [
299
+ bold(title),
300
+ "---",
301
+ make_stack_lines
302
+ ].join("\n")
303
+
304
+ stagger_output content
305
+ end
306
+
307
+ private
308
+
309
+ def make_stack_lines
310
+ frames_with_indices.map do |b, i|
311
+ make_stack_line(b, i, (i == frame_manager.binding_index))
312
+ end.join("\n")
313
+ end
314
+
315
+ def frames_with_indices
316
+ if opts.present?(:app) && defined?(ActiveSupport::BacktraceCleaner)
317
+ app_frames
293
318
  else
294
- content = ""
295
- content << "\n#{text.bold("Showing all accessible frames in stack (#{frame_manager.bindings.size} in total):")}\n--\n"
296
-
297
- base_frame_index, frames = selected_stack_frames
298
- frames.each_with_index do |b, index|
299
- i = index + base_frame_index
300
- if i == frame_manager.binding_index
301
- content << "=> ##{i} #{memoized_info(i, b, opts[:v])}\n"
302
- else
303
- content << " ##{i} #{memoized_info(i, b, opts[:v])}\n"
304
- end
305
- end
319
+ offset_frames
320
+ end
321
+ end
306
322
 
307
- stagger_output content
323
+ # "=> #0 method_name <Class#method(...)>"
324
+ def make_stack_line(b, i, active)
325
+ arw = active ? "=>" : " "
326
+
327
+ "#{arw} ##{i} #{memoized_info(i, b, opts[:v])}"
328
+ end
329
+
330
+ def offset_frames
331
+ base_frame_index, frames = selected_stack_frames
332
+
333
+ frames.each_with_index.map do |frame, index|
334
+ [frame, index + base_frame_index]
308
335
  end
309
336
  end
310
337
 
338
+ def no_stack_available!
339
+ output.puts "No caller stack available!"
340
+ end
341
+
342
+ LOCATION_LAMBDA = ->(_binding){ _binding.source_location[0] }
343
+
344
+ def app_frames
345
+ locations = frame_manager.bindings.map(&LOCATION_LAMBDA)
346
+ filtered = backtrace_cleaner.clean(locations)
347
+
348
+ frame_manager.bindings
349
+ .each_with_index
350
+ .map
351
+ .select do |_binding, _index|
352
+ LOCATION_LAMBDA.call(_binding).in?(filtered)
353
+ end
354
+ end
355
+
356
+ # also see Rails::BacktraceCleaner
357
+ def backtrace_cleaner
358
+ @backtrace_cleaner ||= ActiveSupport::BacktraceCleaner.new
359
+ end
311
360
  end
361
+
362
+ alias_command "show-stack", "stack"
363
+
312
364
  end
313
365
  end
@@ -1,3 +1,3 @@
1
- module PryStackExplorer
2
- VERSION = '0.4.9.3'
3
- end
1
+ module PryStackExplorer
2
+ VERSION = '0.6.1'
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
@@ -127,9 +127,9 @@ Pry.config.commands.import PryStackExplorer::Commands
127
127
  # monkey-patch the whereami command to show some frame information,
128
128
  # useful for navigating stack.
129
129
  Pry.config.hooks.add_hook(:before_whereami, :stack_explorer) do
130
- if PryStackExplorer.frame_manager(_pry_) && !internal_binding?(target)
131
- bindings = PryStackExplorer.frame_manager(_pry_).bindings
132
- binding_index = PryStackExplorer.frame_manager(_pry_).binding_index
130
+ if PryStackExplorer.frame_manager(pry_instance) && !internal_binding?(target)
131
+ bindings = PryStackExplorer.frame_manager(pry_instance).bindings
132
+ binding_index = PryStackExplorer.frame_manager(pry_instance).binding_index
133
133
 
134
134
  output.puts "\n"
135
135
  output.puts "#{Pry::Helpers::Text.bold('Frame number:')} #{binding_index}/#{bindings.size - 1}"
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-stack_explorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9.3
4
+ version: 0.6.1
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: 2018-11-04 00:00:00.000000000 Z
11
+ date: 2021-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: binding_of_caller
15
15
  requirement: !ruby/object:Gem::Requirement
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
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.11
33
+ version: '0.13'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.11
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,39 +66,28 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.9'
69
- description: Walk the stack in a Pry session
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
- licenses: []
100
- metadata: {}
101
- post_install_message:
84
+ licenses:
85
+ - MIT
86
+ metadata:
87
+ bug_tracker_uri: https://github.com/pry/pry-stack_explorer/issues
88
+ source_code_uri: https://github.com/pry/pry-stack_explorer
89
+ changelog_uri: https://github.com/pry/pry-stack_explorer/blob/master/CHANGELOG
90
+ post_install_message:
102
91
  rdoc_options: []
103
92
  require_paths:
104
93
  - lib
@@ -106,20 +95,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
95
  requirements:
107
96
  - - ">="
108
97
  - !ruby/object:Gem::Version
109
- version: '0'
98
+ version: 2.6.0
110
99
  required_rubygems_version: !ruby/object:Gem::Requirement
111
100
  requirements:
112
101
  - - ">="
113
102
  - !ruby/object:Gem::Version
114
103
  version: '0'
115
104
  requirements: []
116
- rubyforge_project:
117
- rubygems_version: 2.6.13
118
- signing_key:
105
+ rubygems_version: 3.2.3
106
+ signing_key:
119
107
  specification_version: 4
120
108
  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
109
+ test_files: []
data/.gemtest DELETED
File without changes
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- Makefile
2
- *.so
3
- *.o
4
- *.def
5
- doc/
6
- pkg/
7
- .yardoc/
data/.travis.yml DELETED
@@ -1,29 +0,0 @@
1
- script:
2
- rake test --trace
3
-
4
- before_install:
5
- - gem update --system
6
-
7
- rvm:
8
- - 1.9.3
9
- - 2.0
10
- - 2.1.10
11
- - 2.2.9
12
- - 2.3.6
13
- - 2.4.3
14
- - 2.5.0
15
- - ruby-head
16
-
17
- matrix:
18
- allow_failures:
19
- - rmv: ruby-head
20
- fast_finish: true
21
-
22
- notifications:
23
- irc: "irc.freenode.org#pry"
24
- recipients:
25
- - jrmair@gmail.com
26
-
27
- branches:
28
- only:
29
- - master
data/.yardopts DELETED
@@ -1 +0,0 @@
1
- --markup markdown
data/CHANGELOG DELETED
File without changes
data/Gemfile DELETED
@@ -1,2 +0,0 @@
1
- source :rubygems
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 -rubygems -I#{direc}/lib/ -r #{direc}/lib/#{PROJECT_NAME}")
37
- end
38
-
39
- desc "Run example"
40
- task :example do
41
- sh "ruby -rubygems -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 -rubygems -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
data/examples/example.rb DELETED
@@ -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
-