pry-stack_explorer 0.6.0 → 0.6.2
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 +4 -4
- data/.gemtest +0 -0
- data/.gitignore +9 -0
- data/.rspec +5 -0
- data/.travis.yml +25 -0
- data/.yardopts +1 -0
- data/CHANGELOG +22 -0
- data/Gemfile +2 -0
- data/README.md +2 -2
- data/Rakefile +114 -0
- data/bin/rspec +29 -0
- data/examples/example.rb +45 -0
- data/examples/example2.rb +18 -0
- data/examples/example3.rb +46 -0
- data/lib/pry-stack_explorer/commands.rb +62 -15
- data/lib/pry-stack_explorer/version.rb +1 -1
- data/pry-stack_explorer.gemspec +26 -0
- data/test/commands_test.rb +353 -0
- data/test/frame_manager_test.rb +68 -0
- data/test/stack_explorer_test.rb +374 -0
- data/test/support/bingbong.rb +11 -0
- data/test/support/input_tester.rb +17 -0
- data/test/support/io_utils.rb +49 -0
- data/test/support/reset_helper.rb +57 -0
- data/test/test_helper.rb +27 -0
- metadata +39 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2c56f14de411b367961ead30e9542e8d9f8b7a936243c4c552af3688e98b49d3
|
|
4
|
+
data.tar.gz: 49c07c2ca2761bff019a48ef94efe2a6c225d95ea5178e93ed11d7714bc8392f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 54b7217454501440658502c54f644d624d61b301e5d220a14a9c16476015aa58ecb629c0e99dc1b033fbc07ece4325de9ba63f6b33264306ab6d4614b63a34e7
|
|
7
|
+
data.tar.gz: 63690ac1f3db937c810deb4f5b330435fcce8845ce74c3bea904e5f4ee334943737747351c4baad00f2887ea996ad598cd4c891531abd942c7efe49fd39a9420
|
data/.gemtest
ADDED
|
File without changes
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
language: ruby
|
|
2
|
+
|
|
3
|
+
script:
|
|
4
|
+
rspec --backtrace
|
|
5
|
+
|
|
6
|
+
before_install:
|
|
7
|
+
- gem install bundler
|
|
8
|
+
|
|
9
|
+
rvm:
|
|
10
|
+
- 2.6.6
|
|
11
|
+
- 2.7.2
|
|
12
|
+
- 3.0.0
|
|
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
|
+
|
|
23
|
+
branches:
|
|
24
|
+
only:
|
|
25
|
+
- master
|
data/.yardopts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--markup markdown
|
data/CHANGELOG
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
## v0.6.2 (13 March 2026)
|
|
2
|
+
* Require binding_of_caller >= 1.0 to support Ruby 4 (via 2.0.0+)
|
|
3
|
+
|
|
4
|
+
## v0.6.1 (8 February 2021)
|
|
5
|
+
* Fix 'Source Code' link in gem metadata
|
|
6
|
+
* Stack now filters for application frames (#53)
|
|
7
|
+
|
|
8
|
+
## v0.6.0 (31 December 2020)
|
|
9
|
+
* Use binding_of_caller version for Ruby 3.0 (#55)
|
|
10
|
+
* Rename 'show-stack' to 'stack' (#50, #8)
|
|
11
|
+
|
|
12
|
+
## v0.5.1 (21 May 2020)
|
|
13
|
+
* Fix exception in started hook
|
|
14
|
+
|
|
15
|
+
## v0.5.0 (21 May 2020)
|
|
16
|
+
* Should fix most deprecation warnings as of release
|
|
17
|
+
* Require Pry 0.13
|
|
18
|
+
* Fix Pry#_pry_ => #pry_instance deprecation
|
|
19
|
+
|
|
20
|
+
## v0.4.11 (21 May 2020)
|
|
21
|
+
* Special branch for Ruby 2.5
|
|
22
|
+
* Fix Pry 0.13+ deprecations and broken `show-stack`
|
data/Gemfile
ADDED
data/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Commands:
|
|
|
31
31
|
|
|
32
32
|
In Gemfile:
|
|
33
33
|
```rb
|
|
34
|
-
gem 'pry-stack_explorer', '~> 0.
|
|
34
|
+
gem 'pry-stack_explorer', '~> 0.6.0'
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
```
|
|
@@ -43,7 +43,7 @@ gem install pry-stack_explorer
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
### Branches and compatible Ruby versions
|
|
46
|
-
* v0.5: Ruby 2.6+, Pry 0.13+
|
|
46
|
+
* v0.5, v0.6: Ruby 2.6+, Pry 0.13+
|
|
47
47
|
* v0.4.11+: Ruby 2.5, Pry 0.12+ (branch `0-4` – end-of-life in March 2021)
|
|
48
48
|
* v0.4.9.3: Older versions (unsupported)
|
|
49
49
|
|
data/Rakefile
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
require "bundler/gem_tasks"
|
|
2
|
+
|
|
3
|
+
$:.unshift 'lib'
|
|
4
|
+
|
|
5
|
+
dlext = RbConfig::CONFIG['DLEXT']
|
|
6
|
+
direc = File.dirname(__FILE__)
|
|
7
|
+
|
|
8
|
+
PROJECT_NAME = "pry-stack_explorer"
|
|
9
|
+
|
|
10
|
+
require 'rake/clean'
|
|
11
|
+
require 'rubygems/package_task'
|
|
12
|
+
require "#{PROJECT_NAME}/version"
|
|
13
|
+
|
|
14
|
+
CLOBBER.include("**/*~", "**/*#*", "**/*.log")
|
|
15
|
+
CLEAN.include("**/*#*", "**/*#*.*", "**/*_flymake*.*", "**/*_flymake",
|
|
16
|
+
"**/*.rbc", "**/.#*.*")
|
|
17
|
+
|
|
18
|
+
def apply_spec_defaults(s)
|
|
19
|
+
s.name = PROJECT_NAME
|
|
20
|
+
s.summary = "Walk the stack in a Pry session"
|
|
21
|
+
s.version = PryStackExplorer::VERSION
|
|
22
|
+
s.date = Time.now.strftime '%Y-%m-%d'
|
|
23
|
+
s.author = "John Mair (banisterfiend)"
|
|
24
|
+
s.email = 'jrmair@gmail.com'
|
|
25
|
+
s.description = s.summary
|
|
26
|
+
s.require_path = 'lib'
|
|
27
|
+
s.add_dependency("binding_of_caller",">= 1.0")
|
|
28
|
+
s.add_dependency("pry","~> 0.13")
|
|
29
|
+
s.add_development_dependency("rspec","~> 3.9")
|
|
30
|
+
s.add_development_dependency('rake', '~> 0.9')
|
|
31
|
+
s.homepage = "https://github.com/pry/pry-stack_explorer"
|
|
32
|
+
s.files = `git ls-files`.split("\n")
|
|
33
|
+
s.test_files = `git ls-files -- test/*`.split("\n")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
desc "run pry with plugin enabled"
|
|
37
|
+
task :pry do
|
|
38
|
+
exec("pry -I#{direc}/lib/ -r #{direc}/lib/#{PROJECT_NAME}")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
desc "Run example"
|
|
42
|
+
task :example do
|
|
43
|
+
sh "ruby -I#{direc}/lib/ #{direc}/examples/example.rb "
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
desc "Run example2"
|
|
47
|
+
task :example2 do
|
|
48
|
+
sh "ruby -I#{direc}/lib/ #{direc}/examples/example2.rb "
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
desc "Run example3"
|
|
52
|
+
task :example3 do
|
|
53
|
+
sh "ruby -I#{direc}/lib/ #{direc}/examples/example3.rb "
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
desc "Show version"
|
|
57
|
+
task :version do
|
|
58
|
+
puts "PryStackExplorer version: #{PryStackExplorer::VERSION}"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
desc "run tests"
|
|
62
|
+
task :default => :test
|
|
63
|
+
|
|
64
|
+
desc "run tests"
|
|
65
|
+
task :test do
|
|
66
|
+
sh "rspec"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
desc "generate gemspec"
|
|
70
|
+
task :gemspec => "ruby:gemspec"
|
|
71
|
+
|
|
72
|
+
namespace :ruby do
|
|
73
|
+
spec = Gem::Specification.new do |s|
|
|
74
|
+
apply_spec_defaults(s)
|
|
75
|
+
s.platform = Gem::Platform::RUBY
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
Gem::PackageTask.new(spec) do |pkg|
|
|
79
|
+
pkg.need_zip = false
|
|
80
|
+
pkg.need_tar = false
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
desc "Generate gemspec file"
|
|
84
|
+
task :gemspec do
|
|
85
|
+
File.open("#{spec.name}.gemspec", "w") do |f|
|
|
86
|
+
f << spec.to_ruby
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
desc "build all platform gems at once"
|
|
92
|
+
task :gems => [:clean, :rmgems, :gemspec, "ruby:gem"]
|
|
93
|
+
|
|
94
|
+
desc "remove all platform gems"
|
|
95
|
+
task :rmgems => ["ruby:clobber_package"]
|
|
96
|
+
|
|
97
|
+
desc "reinstall gem"
|
|
98
|
+
task :reinstall => :gems do
|
|
99
|
+
sh "gem uninstall pry-stack_explorer" rescue nil
|
|
100
|
+
sh "gem install -l #{direc}/pkg/#{PROJECT_NAME}-#{PryStackExplorer::VERSION}.gem"
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
task :install => :reinstall
|
|
104
|
+
|
|
105
|
+
desc "build and push latest gems"
|
|
106
|
+
task :pushgems => :gems do
|
|
107
|
+
chdir("#{File.dirname(__FILE__)}/pkg") do
|
|
108
|
+
Dir["*.gem"].each do |gemfile|
|
|
109
|
+
sh "gem push #{gemfile}"
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
task :pushgem => :pushgems
|
data/bin/rspec
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# This file was generated by Bundler.
|
|
6
|
+
#
|
|
7
|
+
# The application 'rspec' is installed as part of a gem, and
|
|
8
|
+
# this file is here to facilitate running it.
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
require "pathname"
|
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
13
|
+
Pathname.new(__FILE__).realpath)
|
|
14
|
+
|
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
|
16
|
+
|
|
17
|
+
if File.file?(bundle_binstub)
|
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
|
19
|
+
load(bundle_binstub)
|
|
20
|
+
else
|
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
require "rubygems"
|
|
27
|
+
require "bundler/setup"
|
|
28
|
+
|
|
29
|
+
load Gem.bin_path("rspec-core", "rspec")
|
data/examples/example.rb
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
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 alpha
|
|
9
|
+
x = "hello"
|
|
10
|
+
beta
|
|
11
|
+
puts x
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def beta
|
|
15
|
+
binding.pry
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
alpha
|
|
@@ -0,0 +1,46 @@
|
|
|
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 b
|
|
9
|
+
x = 30
|
|
10
|
+
proc {
|
|
11
|
+
c
|
|
12
|
+
}.call
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def c
|
|
16
|
+
u = 50
|
|
17
|
+
V.new.beta
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# hello
|
|
21
|
+
class V
|
|
22
|
+
def beta
|
|
23
|
+
gamma
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def gamma
|
|
27
|
+
zeta
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def zeta
|
|
32
|
+
vitamin = 100
|
|
33
|
+
binding.pry
|
|
34
|
+
end
|
|
35
|
+
#
|
|
36
|
+
|
|
37
|
+
proc {
|
|
38
|
+
class J
|
|
39
|
+
def alphabet(y)
|
|
40
|
+
x = 20
|
|
41
|
+
b
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
}.call
|
|
45
|
+
|
|
46
|
+
J.new.alphabet(122)
|
|
@@ -247,6 +247,7 @@ module PryStackExplorer
|
|
|
247
247
|
opt.on :H, :head, "Display the first N stack frames (defaults to 10).", :optional_argument => true, :as => Integer, :default => 10
|
|
248
248
|
opt.on :T, :tail, "Display the last N stack frames (defaults to 10).", :optional_argument => true, :as => Integer, :default => 10
|
|
249
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
|
|
250
251
|
end
|
|
251
252
|
|
|
252
253
|
def memoized_info(index, b, verbose)
|
|
@@ -290,26 +291,72 @@ module PryStackExplorer
|
|
|
290
291
|
private :selected_stack_frames
|
|
291
292
|
|
|
292
293
|
def process
|
|
293
|
-
|
|
294
|
-
|
|
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
|
|
295
318
|
else
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
end
|
|
307
|
-
end
|
|
319
|
+
offset_frames
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
|
|
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
|
|
308
329
|
|
|
309
|
-
|
|
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]
|
|
310
335
|
end
|
|
311
336
|
end
|
|
312
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
|
|
313
360
|
end
|
|
314
361
|
|
|
315
362
|
alias_command "show-stack", "stack"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
# stub: pry-stack_explorer 0.6.2 ruby lib
|
|
3
|
+
|
|
4
|
+
Gem::Specification.new do |s|
|
|
5
|
+
s.name = "pry-stack_explorer".freeze
|
|
6
|
+
s.version = "0.6.2".freeze
|
|
7
|
+
|
|
8
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
9
|
+
s.require_paths = ["lib".freeze]
|
|
10
|
+
s.authors = ["John Mair (banisterfiend)".freeze]
|
|
11
|
+
s.date = "2026-03-13"
|
|
12
|
+
s.description = "Walk the stack in a Pry session".freeze
|
|
13
|
+
s.email = "jrmair@gmail.com".freeze
|
|
14
|
+
s.files = [".gemtest".freeze, ".gitignore".freeze, ".rspec".freeze, ".travis.yml".freeze, ".yardopts".freeze, "CHANGELOG".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/rspec".freeze, "examples/example.rb".freeze, "examples/example2.rb".freeze, "examples/example3.rb".freeze, "lib/pry-stack_explorer.rb".freeze, "lib/pry-stack_explorer/commands.rb".freeze, "lib/pry-stack_explorer/frame_manager.rb".freeze, "lib/pry-stack_explorer/version.rb".freeze, "lib/pry-stack_explorer/when_started_hook.rb".freeze, "pry-stack_explorer.gemspec".freeze, "test/commands_test.rb".freeze, "test/frame_manager_test.rb".freeze, "test/stack_explorer_test.rb".freeze, "test/support/bingbong.rb".freeze, "test/support/input_tester.rb".freeze, "test/support/io_utils.rb".freeze, "test/support/reset_helper.rb".freeze, "test/test_helper.rb".freeze]
|
|
15
|
+
s.homepage = "https://github.com/pry/pry-stack_explorer".freeze
|
|
16
|
+
s.rubygems_version = "3.6.9".freeze
|
|
17
|
+
s.summary = "Walk the stack in a Pry session".freeze
|
|
18
|
+
s.test_files = ["test/commands_test.rb".freeze, "test/frame_manager_test.rb".freeze, "test/stack_explorer_test.rb".freeze, "test/support/bingbong.rb".freeze, "test/support/input_tester.rb".freeze, "test/support/io_utils.rb".freeze, "test/support/reset_helper.rb".freeze, "test/test_helper.rb".freeze]
|
|
19
|
+
|
|
20
|
+
s.specification_version = 4
|
|
21
|
+
|
|
22
|
+
s.add_runtime_dependency(%q<binding_of_caller>.freeze, [">= 1.0".freeze])
|
|
23
|
+
s.add_runtime_dependency(%q<pry>.freeze, ["~> 0.13".freeze])
|
|
24
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.9".freeze])
|
|
25
|
+
s.add_development_dependency(%q<rake>.freeze, ["~> 0.9".freeze])
|
|
26
|
+
end
|