pry 0.6.7pre4-i386-mingw32 → 0.6.8-i386-mingw32
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.
- data/CHANGELOG +88 -75
- data/LICENSE +25 -25
- data/README.markdown +321 -309
- data/Rakefile +103 -103
- data/bin/pry +83 -82
- data/examples/example_basic.rb +17 -17
- data/examples/example_command_override.rb +35 -35
- data/examples/example_commands.rb +39 -39
- data/examples/example_hooks.rb +12 -12
- data/examples/example_image_edit.rb +71 -71
- data/examples/example_input.rb +10 -10
- data/examples/example_input2.rb +32 -32
- data/examples/example_output.rb +14 -14
- data/examples/example_print.rb +9 -9
- data/examples/example_prompt.rb +12 -12
- data/lib/pry.rb +32 -32
- data/lib/pry/command_base.rb +150 -150
- data/lib/pry/commands.rb +616 -577
- data/lib/pry/completion.rb +202 -202
- data/lib/pry/core_extensions.rb +55 -55
- data/lib/pry/hooks.rb +19 -8
- data/lib/pry/print.rb +19 -19
- data/lib/pry/prompts.rb +26 -26
- data/lib/pry/pry_class.rb +219 -186
- data/lib/pry/pry_instance.rb +316 -316
- data/lib/pry/version.rb +3 -3
- data/test/test.rb +725 -681
- data/test/test_helper.rb +46 -38
- data/test/testrc +2 -0
- metadata +102 -66
@@ -1,39 +1,39 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
class MathCommands < Pry::CommandBase
|
7
|
-
command "greet", "Greet a person, e.g: greet john" do |name|
|
8
|
-
output.puts "Good afternoon #{name.capitalize}! Do you like Math?"
|
9
|
-
end
|
10
|
-
|
11
|
-
command "add", "Add a list of numbers together, e.g: add 1 2 3 4" do |*args|
|
12
|
-
output.puts "Total: #{args.map(&:to_f).inject(&:+)}"
|
13
|
-
end
|
14
|
-
|
15
|
-
command "multiply", "Multiply a list of numbers together, e.g: multiply 1 2 3 4" do |*args|
|
16
|
-
output.puts "Total: #{args.map(&:to_f).inject(&:*)}"
|
17
|
-
end
|
18
|
-
|
19
|
-
# Explicitly giving a description of "" to prevent command being
|
20
|
-
# displayed in 'help'
|
21
|
-
command "exit", "" do
|
22
|
-
throw :breakout, 0
|
23
|
-
end
|
24
|
-
|
25
|
-
# Bring in the "!" method from Pry::Commands
|
26
|
-
import_from Pry::Commands, "!"
|
27
|
-
end
|
28
|
-
|
29
|
-
# Since we provide math commands, let's have mathematical
|
30
|
-
# before_session and after_session hooks, and a mathematical prompt
|
31
|
-
math_prompt = [proc { "math> " }, proc { "math* " }]
|
32
|
-
math_hooks = {
|
33
|
-
:before_session => proc { |output, *| output.puts "Welcome! Let's do some math! Type 'help' for a list of commands." },
|
34
|
-
:after_session => proc { |output, *| output.puts "Goodbye!" }
|
35
|
-
}
|
36
|
-
|
37
|
-
# Start a Pry session using the commands defined in MyCommands
|
38
|
-
# Type 'help' in Pry to get a list of the commands and their descriptions
|
39
|
-
Pry.start(TOPLEVEL_BINDING, :commands => MathCommands, :prompt => math_prompt, :hooks => math_hooks)
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
class MathCommands < Pry::CommandBase
|
7
|
+
command "greet", "Greet a person, e.g: greet john" do |name|
|
8
|
+
output.puts "Good afternoon #{name.capitalize}! Do you like Math?"
|
9
|
+
end
|
10
|
+
|
11
|
+
command "add", "Add a list of numbers together, e.g: add 1 2 3 4" do |*args|
|
12
|
+
output.puts "Total: #{args.map(&:to_f).inject(&:+)}"
|
13
|
+
end
|
14
|
+
|
15
|
+
command "multiply", "Multiply a list of numbers together, e.g: multiply 1 2 3 4" do |*args|
|
16
|
+
output.puts "Total: #{args.map(&:to_f).inject(&:*)}"
|
17
|
+
end
|
18
|
+
|
19
|
+
# Explicitly giving a description of "" to prevent command being
|
20
|
+
# displayed in 'help'
|
21
|
+
command "exit", "" do
|
22
|
+
throw :breakout, 0
|
23
|
+
end
|
24
|
+
|
25
|
+
# Bring in the "!" method from Pry::Commands
|
26
|
+
import_from Pry::Commands, "!"
|
27
|
+
end
|
28
|
+
|
29
|
+
# Since we provide math commands, let's have mathematical
|
30
|
+
# before_session and after_session hooks, and a mathematical prompt
|
31
|
+
math_prompt = [proc { "math> " }, proc { "math* " }]
|
32
|
+
math_hooks = {
|
33
|
+
:before_session => proc { |output, *| output.puts "Welcome! Let's do some math! Type 'help' for a list of commands." },
|
34
|
+
:after_session => proc { |output, *| output.puts "Goodbye!" }
|
35
|
+
}
|
36
|
+
|
37
|
+
# Start a Pry session using the commands defined in MyCommands
|
38
|
+
# Type 'help' in Pry to get a list of the commands and their descriptions
|
39
|
+
Pry.start(TOPLEVEL_BINDING, :commands => MathCommands, :prompt => math_prompt, :hooks => math_hooks)
|
data/examples/example_hooks.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
my_hooks = {
|
7
|
-
:before_session => proc { |out,
|
8
|
-
:after_session => proc { |out,
|
9
|
-
}
|
10
|
-
|
11
|
-
# Start a Pry session using the hooks hash defined in my_hooks
|
12
|
-
Pry.start(TOPLEVEL_BINDING, :hooks => my_hooks)
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
my_hooks = {
|
7
|
+
:before_session => proc { |out, target| out.puts "Opening #{target.eval('self')}." },
|
8
|
+
:after_session => proc { |out, target| out.puts "Closing #{target.eval('self')}." }
|
9
|
+
}
|
10
|
+
|
11
|
+
# Start a Pry session using the hooks hash defined in my_hooks
|
12
|
+
Pry.start(TOPLEVEL_BINDING, :hooks => my_hooks)
|
@@ -1,71 +1,71 @@
|
|
1
|
-
# Note: this requires you to have Gosu and TexPlay installed.
|
2
|
-
# `gem install gosu`
|
3
|
-
# `gem install texplay`
|
4
|
-
#
|
5
|
-
# Extra instructions for installing Gosu on Linux can be found here:
|
6
|
-
# http://code.google.com/p/gosu/wiki/GettingStartedOnLinux
|
7
|
-
#
|
8
|
-
# Instructions for using TexPlay can be found here:
|
9
|
-
# http://banisterfiend.wordpress.com/2008/08/23/texplay-an-image-manipulation-tool-for-ruby-and-gosu/
|
10
|
-
#
|
11
|
-
# Have fun! :)
|
12
|
-
|
13
|
-
direc = File.dirname(__FILE__)
|
14
|
-
|
15
|
-
require 'rubygems'
|
16
|
-
require "texplay"
|
17
|
-
require "#{direc}/../lib/pry"
|
18
|
-
|
19
|
-
WIDTH = 640
|
20
|
-
HEIGHT = 480
|
21
|
-
|
22
|
-
IMAGE_PROMPT = [ proc { "(image edit)> " }, proc { "(image edit)* " } ]
|
23
|
-
|
24
|
-
class ImageCommands < Pry::CommandBase
|
25
|
-
command "drawing_methods", "Show a list of TexPlay methods" do
|
26
|
-
output.puts "#{Pry.view(TexPlay.public_instance_methods)}"
|
27
|
-
end
|
28
|
-
|
29
|
-
command "exit", "Exit the program." do
|
30
|
-
output.puts "Thanks for dropping by!"
|
31
|
-
exit
|
32
|
-
end
|
33
|
-
|
34
|
-
import_from Pry::Commands, "ls", "!"
|
35
|
-
end
|
36
|
-
|
37
|
-
class WinClass < Gosu::Window
|
38
|
-
|
39
|
-
def initialize
|
40
|
-
super(WIDTH, HEIGHT, false)
|
41
|
-
@img = TexPlay.create_image(self, 200, 200).clear :color => :black
|
42
|
-
@img.rect 0, 0, @img.width - 1, @img.height - 1
|
43
|
-
|
44
|
-
@binding = Pry.binding_for(@img)
|
45
|
-
|
46
|
-
@pry_instance = Pry.new(:commands => ImageCommands, :prompt => IMAGE_PROMPT)
|
47
|
-
end
|
48
|
-
|
49
|
-
def draw
|
50
|
-
@img.draw_rot(WIDTH / 2, HEIGHT / 2, 1, 0, 0.5, 0.5)
|
51
|
-
end
|
52
|
-
|
53
|
-
def update
|
54
|
-
exit if button_down?(Gosu::KbEscape)
|
55
|
-
|
56
|
-
# We do not want a REPL session as the loop prevents the image
|
57
|
-
# being updated; instead we do a REP session, and let the image
|
58
|
-
# update each time the user presses enter. We maintain the same
|
59
|
-
# binding object to keep locals between calls to `Pry#rep()`
|
60
|
-
@pry_instance.rep(@binding)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
puts "Welcome to ImageEdit; type `help` for a list of commands and `drawing_methods` for a list of drawing methods available."
|
65
|
-
puts "--"
|
66
|
-
puts "Example: Try typing 'circle width/2, height/2, 95, :color => :blue, :fill => true'"
|
67
|
-
puts "If you want to save your image, type: save(\"img.png\")"
|
68
|
-
|
69
|
-
w = WinClass.new
|
70
|
-
w.show
|
71
|
-
|
1
|
+
# Note: this requires you to have Gosu and TexPlay installed.
|
2
|
+
# `gem install gosu`
|
3
|
+
# `gem install texplay`
|
4
|
+
#
|
5
|
+
# Extra instructions for installing Gosu on Linux can be found here:
|
6
|
+
# http://code.google.com/p/gosu/wiki/GettingStartedOnLinux
|
7
|
+
#
|
8
|
+
# Instructions for using TexPlay can be found here:
|
9
|
+
# http://banisterfiend.wordpress.com/2008/08/23/texplay-an-image-manipulation-tool-for-ruby-and-gosu/
|
10
|
+
#
|
11
|
+
# Have fun! :)
|
12
|
+
|
13
|
+
direc = File.dirname(__FILE__)
|
14
|
+
|
15
|
+
require 'rubygems'
|
16
|
+
require "texplay"
|
17
|
+
require "#{direc}/../lib/pry"
|
18
|
+
|
19
|
+
WIDTH = 640
|
20
|
+
HEIGHT = 480
|
21
|
+
|
22
|
+
IMAGE_PROMPT = [ proc { "(image edit)> " }, proc { "(image edit)* " } ]
|
23
|
+
|
24
|
+
class ImageCommands < Pry::CommandBase
|
25
|
+
command "drawing_methods", "Show a list of TexPlay methods" do
|
26
|
+
output.puts "#{Pry.view(TexPlay.public_instance_methods)}"
|
27
|
+
end
|
28
|
+
|
29
|
+
command "exit", "Exit the program." do
|
30
|
+
output.puts "Thanks for dropping by!"
|
31
|
+
exit
|
32
|
+
end
|
33
|
+
|
34
|
+
import_from Pry::Commands, "ls", "!"
|
35
|
+
end
|
36
|
+
|
37
|
+
class WinClass < Gosu::Window
|
38
|
+
|
39
|
+
def initialize
|
40
|
+
super(WIDTH, HEIGHT, false)
|
41
|
+
@img = TexPlay.create_image(self, 200, 200).clear :color => :black
|
42
|
+
@img.rect 0, 0, @img.width - 1, @img.height - 1
|
43
|
+
|
44
|
+
@binding = Pry.binding_for(@img)
|
45
|
+
|
46
|
+
@pry_instance = Pry.new(:commands => ImageCommands, :prompt => IMAGE_PROMPT)
|
47
|
+
end
|
48
|
+
|
49
|
+
def draw
|
50
|
+
@img.draw_rot(WIDTH / 2, HEIGHT / 2, 1, 0, 0.5, 0.5)
|
51
|
+
end
|
52
|
+
|
53
|
+
def update
|
54
|
+
exit if button_down?(Gosu::KbEscape)
|
55
|
+
|
56
|
+
# We do not want a REPL session as the loop prevents the image
|
57
|
+
# being updated; instead we do a REP session, and let the image
|
58
|
+
# update each time the user presses enter. We maintain the same
|
59
|
+
# binding object to keep locals between calls to `Pry#rep()`
|
60
|
+
@pry_instance.rep(@binding)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
puts "Welcome to ImageEdit; type `help` for a list of commands and `drawing_methods` for a list of drawing methods available."
|
65
|
+
puts "--"
|
66
|
+
puts "Example: Try typing 'circle width/2, height/2, 95, :color => :blue, :fill => true'"
|
67
|
+
puts "If you want to save your image, type: save(\"img.png\")"
|
68
|
+
|
69
|
+
w = WinClass.new
|
70
|
+
w.show
|
71
|
+
|
data/examples/example_input.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
# Create a StringIO that contains the input data
|
7
|
-
str_input = StringIO.new("puts 'hello world!'\nputs \"I am in \#{self}\"\nexit")
|
8
|
-
|
9
|
-
# Start a Pry session on the Fixnum 5 using the input data in str_input
|
10
|
-
Pry.start(5, :input => str_input)
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
# Create a StringIO that contains the input data
|
7
|
+
str_input = StringIO.new("puts 'hello world!'\nputs \"I am in \#{self}\"\nexit")
|
8
|
+
|
9
|
+
# Start a Pry session on the Fixnum 5 using the input data in str_input
|
10
|
+
Pry.start(5, :input => str_input)
|
data/examples/example_input2.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
# Create a StringIO that contains the input data for all the Pry objects
|
7
|
-
cmds = <<-CMDS
|
8
|
-
cd 1
|
9
|
-
status
|
10
|
-
puts 'hello from 1!!'
|
11
|
-
cd 2
|
12
|
-
nesting
|
13
|
-
puts 'hello from 2!!'
|
14
|
-
_pry_.parent.input = Readline
|
15
|
-
back
|
16
|
-
exit-all
|
17
|
-
CMDS
|
18
|
-
|
19
|
-
# create our StringIO object
|
20
|
-
str_input = StringIO.new(cmds)
|
21
|
-
|
22
|
-
# set global input to str_input, this means that all pry sessions
|
23
|
-
# adopt this object as their input object.
|
24
|
-
Pry.input = str_input
|
25
|
-
|
26
|
-
# Start the session reading from str_input.
|
27
|
-
# Note that because `Pry.input` is set to `str_input` all nested pry
|
28
|
-
# sessions will read from `str_input` too. All pry sessions are there
|
29
|
-
# for non-interactive, except for `pry(1)` which starts off
|
30
|
-
# non-interactive but is set to be interactive by pry(2) (using
|
31
|
-
# _pry_.parent.input = Readline)
|
32
|
-
0.pry
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
# Create a StringIO that contains the input data for all the Pry objects
|
7
|
+
cmds = <<-CMDS
|
8
|
+
cd 1
|
9
|
+
status
|
10
|
+
puts 'hello from 1!!'
|
11
|
+
cd 2
|
12
|
+
nesting
|
13
|
+
puts 'hello from 2!!'
|
14
|
+
_pry_.parent.input = Readline
|
15
|
+
back
|
16
|
+
exit-all
|
17
|
+
CMDS
|
18
|
+
|
19
|
+
# create our StringIO object
|
20
|
+
str_input = StringIO.new(cmds)
|
21
|
+
|
22
|
+
# set global input to str_input, this means that all pry sessions
|
23
|
+
# adopt this object as their input object.
|
24
|
+
Pry.input = str_input
|
25
|
+
|
26
|
+
# Start the session reading from str_input.
|
27
|
+
# Note that because `Pry.input` is set to `str_input` all nested pry
|
28
|
+
# sessions will read from `str_input` too. All pry sessions are there
|
29
|
+
# for non-interactive, except for `pry(1)` which starts off
|
30
|
+
# non-interactive but is set to be interactive by pry(2) (using
|
31
|
+
# _pry_.parent.input = Readline)
|
32
|
+
0.pry
|
data/examples/example_output.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
# Create a StringIO to contain the output data
|
7
|
-
str_output = StringIO.new
|
8
|
-
|
9
|
-
# Start a Pry session on the Fixnum 5 using str_output to store the
|
10
|
-
# output (not writing to $stdout)
|
11
|
-
Pry.start(5, :output => str_output)
|
12
|
-
|
13
|
-
# Display all the output accumulated during the session
|
14
|
-
puts str_output.string
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
# Create a StringIO to contain the output data
|
7
|
+
str_output = StringIO.new
|
8
|
+
|
9
|
+
# Start a Pry session on the Fixnum 5 using str_output to store the
|
10
|
+
# output (not writing to $stdout)
|
11
|
+
Pry.start(5, :output => str_output)
|
12
|
+
|
13
|
+
# Display all the output accumulated during the session
|
14
|
+
puts str_output.string
|
data/examples/example_print.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
my_print = proc { |out, value| out.puts "Output is: #{value.inspect}" }
|
7
|
-
|
8
|
-
# Start a Pry session using the print object defined in my_print
|
9
|
-
Pry.start(TOPLEVEL_BINDING, :print => my_print)
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
my_print = proc { |out, value| out.puts "Output is: #{value.inspect}" }
|
7
|
+
|
8
|
+
# Start a Pry session using the print object defined in my_print
|
9
|
+
Pry.start(TOPLEVEL_BINDING, :print => my_print)
|
data/examples/example_prompt.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
direc = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require "#{direc}/../lib/pry"
|
5
|
-
|
6
|
-
# Remember, first prompt in array is the main prompt, second is the wait
|
7
|
-
# prompt (used for multiline input when more input is required)
|
8
|
-
my_prompt = [ proc { |obj, *| "inside #{obj}> " },
|
9
|
-
proc { |obj, *| "inside #{obj}* "} ]
|
10
|
-
|
11
|
-
# Start a Pry session using the prompt defined in my_prompt
|
12
|
-
Pry.start(TOPLEVEL_BINDING, :prompt => my_prompt)
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require "#{direc}/../lib/pry"
|
5
|
+
|
6
|
+
# Remember, first prompt in array is the main prompt, second is the wait
|
7
|
+
# prompt (used for multiline input when more input is required)
|
8
|
+
my_prompt = [ proc { |obj, *| "inside #{obj}> " },
|
9
|
+
proc { |obj, *| "inside #{obj}* "} ]
|
10
|
+
|
11
|
+
# Start a Pry session using the prompt defined in my_prompt
|
12
|
+
Pry.start(TOPLEVEL_BINDING, :prompt => my_prompt)
|
data/lib/pry.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
# (C) John Mair (banisterfiend) 2011
|
2
|
-
# MIT License
|
3
|
-
|
4
|
-
direc = File.dirname(__FILE__)
|
5
|
-
|
6
|
-
$LOAD_PATH << File.expand_path(direc)
|
7
|
-
|
8
|
-
require "method_source"
|
9
|
-
require 'shellwords'
|
10
|
-
require "readline"
|
11
|
-
require "stringio"
|
12
|
-
require "coderay"
|
13
|
-
|
14
|
-
if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
|
15
|
-
begin
|
16
|
-
require 'win32console'
|
17
|
-
rescue LoadError
|
18
|
-
$stderr.puts "Need to `gem install win32console`"
|
19
|
-
exit 1
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
require "pry/version"
|
24
|
-
require "pry/hooks"
|
25
|
-
require "pry/print"
|
26
|
-
require "pry/command_base"
|
27
|
-
require "pry/commands"
|
28
|
-
require "pry/prompts"
|
29
|
-
require "pry/completion"
|
30
|
-
require "pry/core_extensions"
|
31
|
-
require "pry/pry_class"
|
32
|
-
require "pry/pry_instance"
|
1
|
+
# (C) John Mair (banisterfiend) 2011
|
2
|
+
# MIT License
|
3
|
+
|
4
|
+
direc = File.dirname(__FILE__)
|
5
|
+
|
6
|
+
$LOAD_PATH << File.expand_path(direc)
|
7
|
+
|
8
|
+
require "method_source"
|
9
|
+
require 'shellwords'
|
10
|
+
require "readline"
|
11
|
+
require "stringio"
|
12
|
+
require "coderay"
|
13
|
+
|
14
|
+
if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
|
15
|
+
begin
|
16
|
+
require 'win32console'
|
17
|
+
rescue LoadError
|
18
|
+
$stderr.puts "Need to `gem install win32console`"
|
19
|
+
exit 1
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
require "pry/version"
|
24
|
+
require "pry/hooks"
|
25
|
+
require "pry/print"
|
26
|
+
require "pry/command_base"
|
27
|
+
require "pry/commands"
|
28
|
+
require "pry/prompts"
|
29
|
+
require "pry/completion"
|
30
|
+
require "pry/core_extensions"
|
31
|
+
require "pry/pry_class"
|
32
|
+
require "pry/pry_instance"
|