pry 0.9.7.4 → 0.9.8pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -3
- data/README.markdown +3 -1
- data/Rakefile +48 -31
- data/bin/pry +2 -80
- data/lib/pry.rb +17 -20
- data/lib/pry/cli.rb +152 -0
- data/lib/pry/command_processor.rb +13 -0
- data/lib/pry/command_set.rb +102 -9
- data/lib/pry/config.rb +28 -6
- data/lib/pry/default_commands/context.rb +9 -8
- data/lib/pry/default_commands/documentation.rb +55 -13
- data/lib/pry/default_commands/easter_eggs.rb +1 -1
- data/lib/pry/default_commands/input.rb +25 -25
- data/lib/pry/default_commands/introspection.rb +19 -18
- data/lib/pry/default_commands/ls.rb +23 -38
- data/lib/pry/default_commands/shell.rb +47 -15
- data/lib/pry/helpers/command_helpers.rb +28 -6
- data/lib/pry/helpers/options_helpers.rb +7 -4
- data/lib/pry/helpers/text.rb +23 -3
- data/lib/pry/history.rb +55 -17
- data/lib/pry/history_array.rb +2 -0
- data/lib/pry/hooks.rb +108 -0
- data/lib/pry/indent.rb +9 -5
- data/lib/pry/method.rb +99 -50
- data/lib/pry/plugins.rb +10 -2
- data/lib/pry/pry_class.rb +48 -20
- data/lib/pry/pry_instance.rb +106 -91
- data/lib/pry/version.rb +1 -1
- data/lib/pry/wrapped_module.rb +73 -0
- data/man/pry.1 +195 -0
- data/man/pry.1.html +204 -0
- data/man/pry.1.ronn +141 -0
- data/pry.gemspec +21 -24
- data/test/helper.rb +12 -3
- data/test/test_cli.rb +78 -0
- data/test/test_command_set.rb +193 -1
- data/test/test_default_commands/test_context.rb +19 -4
- data/test/test_default_commands/test_input.rb +2 -2
- data/test/test_default_commands/test_introspection.rb +63 -6
- data/test/test_default_commands/test_ls.rb +8 -35
- data/test/test_default_commands/test_shell.rb +36 -1
- data/test/test_hooks.rb +175 -0
- data/test/test_indent.rb +2 -0
- data/test/test_method.rb +10 -0
- data/test/test_pry.rb +35 -34
- data/test/test_pry_history.rb +24 -24
- data/test/test_syntax_checking.rb +47 -0
- data/test/test_wrapped_module.rb +71 -0
- metadata +40 -34
data/test/test_indent.rb
CHANGED
@@ -196,6 +196,8 @@ TXT
|
|
196
196
|
@indent.reset.indent("foo 'hi' if bar\n#").should == "foo 'hi' if bar\n#"
|
197
197
|
@indent.reset.indent("foo 1 while bar\n#").should == "foo 1 while bar\n#"
|
198
198
|
@indent.reset.indent("super if true\n#").should == "super if true\n#"
|
199
|
+
@indent.reset.indent("true if false\n#").should == "true if false\n#"
|
200
|
+
@indent.reset.indent("String if false\n#").should == "String if false\n#"
|
199
201
|
end
|
200
202
|
|
201
203
|
it "should indent cunningly disguised ifs" do
|
data/test/test_method.rb
CHANGED
@@ -287,5 +287,15 @@ describe Pry::Method do
|
|
287
287
|
end
|
288
288
|
end
|
289
289
|
end
|
290
|
+
|
291
|
+
describe 'method_name_from_first_line' do
|
292
|
+
it 'should work in all simple cases' do
|
293
|
+
meth = Pry::Method.new(nil)
|
294
|
+
meth.send(:method_name_from_first_line, "def x").should == "x"
|
295
|
+
meth.send(:method_name_from_first_line, "def self.x").should == "x"
|
296
|
+
meth.send(:method_name_from_first_line, "def ClassName.x").should == "x"
|
297
|
+
meth.send(:method_name_from_first_line, "def obj_name.x").should == "x"
|
298
|
+
end
|
299
|
+
end
|
290
300
|
end
|
291
301
|
|
data/test/test_pry.rb
CHANGED
@@ -216,11 +216,11 @@ describe Pry do
|
|
216
216
|
end
|
217
217
|
end
|
218
218
|
|
219
|
-
describe "
|
219
|
+
describe "complete_expression?" do
|
220
220
|
it "should not mutate the input!" do
|
221
221
|
clean = "puts <<-FOO\nhi\nFOO\n"
|
222
222
|
a = clean.dup
|
223
|
-
Pry.new.
|
223
|
+
Pry.new.complete_expression?(a)
|
224
224
|
a.should == clean
|
225
225
|
end
|
226
226
|
end
|
@@ -491,7 +491,6 @@ describe Pry do
|
|
491
491
|
end
|
492
492
|
end
|
493
493
|
|
494
|
-
|
495
494
|
describe "test Pry defaults" do
|
496
495
|
|
497
496
|
after do
|
@@ -1062,8 +1061,8 @@ describe Pry do
|
|
1062
1061
|
end
|
1063
1062
|
|
1064
1063
|
describe "pry return values" do
|
1065
|
-
it 'should return
|
1066
|
-
Pry.start(self, :input => StringIO.new("exit-all"), :output => Pry::NullOutput).should ==
|
1064
|
+
it 'should return nil' do
|
1065
|
+
Pry.start(self, :input => StringIO.new("exit-all"), :output => Pry::NullOutput).should == nil
|
1067
1066
|
end
|
1068
1067
|
|
1069
1068
|
it 'should return the parameter given to exit-all' do
|
@@ -1084,23 +1083,29 @@ describe Pry do
|
|
1084
1083
|
end
|
1085
1084
|
|
1086
1085
|
describe "prompts" do
|
1086
|
+
before do
|
1087
|
+
@empty_input_buffer = ""
|
1088
|
+
@non_empty_input_buffer = "def hello"
|
1089
|
+
@context = Pry.binding_for(0)
|
1090
|
+
end
|
1091
|
+
|
1087
1092
|
it 'should set the prompt default, and the default should be overridable (single prompt)' do
|
1088
1093
|
new_prompt = proc { "test prompt> " }
|
1089
1094
|
Pry.prompt = new_prompt
|
1090
1095
|
|
1091
1096
|
Pry.new.prompt.should == Pry.prompt
|
1092
|
-
Pry.new.select_prompt(
|
1093
|
-
Pry.new.select_prompt(
|
1097
|
+
Pry.new.select_prompt(@empty_input_buffer, @context).should == "test prompt> "
|
1098
|
+
Pry.new.select_prompt(@non_empty_input_buffer, @context).should == "test prompt> "
|
1094
1099
|
|
1095
1100
|
new_prompt = proc { "A" }
|
1096
1101
|
pry_tester = Pry.new(:prompt => new_prompt)
|
1097
1102
|
pry_tester.prompt.should == new_prompt
|
1098
|
-
pry_tester.select_prompt(
|
1099
|
-
pry_tester.select_prompt(
|
1103
|
+
pry_tester.select_prompt(@empty_input_buffer, @context).should == "A"
|
1104
|
+
pry_tester.select_prompt(@non_empty_input_buffer, @context).should == "A"
|
1100
1105
|
|
1101
1106
|
Pry.new.prompt.should == Pry.prompt
|
1102
|
-
Pry.new.select_prompt(
|
1103
|
-
Pry.new.select_prompt(
|
1107
|
+
Pry.new.select_prompt(@empty_input_buffer, @context).should == "test prompt> "
|
1108
|
+
Pry.new.select_prompt(@non_empty_input_buffer, @context).should == "test prompt> "
|
1104
1109
|
end
|
1105
1110
|
|
1106
1111
|
it 'should set the prompt default, and the default should be overridable (multi prompt)' do
|
@@ -1108,18 +1113,18 @@ describe Pry do
|
|
1108
1113
|
Pry.prompt = new_prompt
|
1109
1114
|
|
1110
1115
|
Pry.new.prompt.should == Pry.prompt
|
1111
|
-
Pry.new.select_prompt(
|
1112
|
-
Pry.new.select_prompt(
|
1116
|
+
Pry.new.select_prompt(@empty_input_buffer, @context).should == "test prompt> "
|
1117
|
+
Pry.new.select_prompt(@non_empty_input_buffer, @context).should == "test prompt* "
|
1113
1118
|
|
1114
1119
|
new_prompt = [proc { "A" }, proc { "B" }]
|
1115
1120
|
pry_tester = Pry.new(:prompt => new_prompt)
|
1116
1121
|
pry_tester.prompt.should == new_prompt
|
1117
|
-
pry_tester.select_prompt(
|
1118
|
-
pry_tester.select_prompt(
|
1122
|
+
pry_tester.select_prompt(@empty_input_buffer, @context).should == "A"
|
1123
|
+
pry_tester.select_prompt(@non_empty_input_buffer, @context).should == "B"
|
1119
1124
|
|
1120
1125
|
Pry.new.prompt.should == Pry.prompt
|
1121
|
-
Pry.new.select_prompt(
|
1122
|
-
Pry.new.select_prompt(
|
1126
|
+
Pry.new.select_prompt(@empty_input_buffer, @context).should == "test prompt> "
|
1127
|
+
Pry.new.select_prompt(@non_empty_input_buffer, @context).should == "test prompt* "
|
1123
1128
|
end
|
1124
1129
|
|
1125
1130
|
describe 'storing and restoring the prompt' do
|
@@ -1145,11 +1150,11 @@ describe Pry do
|
|
1145
1150
|
it 'should restore overridden prompts when returning from file-mode' do
|
1146
1151
|
pry = Pry.new :input => InputTester.new('shell-mode', 'shell-mode'),
|
1147
1152
|
:prompt => [ proc { 'P>' } ] * 2
|
1148
|
-
pry.select_prompt(
|
1153
|
+
pry.select_prompt(@empty_input_buffer, @context).should == "P>"
|
1149
1154
|
pry.re
|
1150
|
-
pry.select_prompt(
|
1155
|
+
pry.select_prompt(@empty_input_buffer, @context).should =~ /\Apry .* \$ \z/
|
1151
1156
|
pry.re
|
1152
|
-
pry.select_prompt(
|
1157
|
+
pry.select_prompt(@empty_input_buffer, @context).should == "P>"
|
1153
1158
|
end
|
1154
1159
|
|
1155
1160
|
it '#pop_prompt should return the popped prompt' do
|
@@ -1281,10 +1286,9 @@ describe Pry do
|
|
1281
1286
|
|
1282
1287
|
it 'should set the hooks default, and the default should be overridable' do
|
1283
1288
|
Pry.input = InputTester.new("exit-all")
|
1284
|
-
Pry.hooks =
|
1285
|
-
:before_session
|
1286
|
-
:after_session
|
1287
|
-
}
|
1289
|
+
Pry.hooks = Pry::Hooks.new.
|
1290
|
+
add_hook(:before_session, :my_name) { |out,_,_| out.puts "HELLO" }.
|
1291
|
+
add_hook(:after_session, :my_name) { |out,_,_| out.puts "BYE" }
|
1288
1292
|
|
1289
1293
|
str_output = StringIO.new
|
1290
1294
|
Pry.new(:output => str_output).repl
|
@@ -1295,10 +1299,9 @@ describe Pry do
|
|
1295
1299
|
|
1296
1300
|
str_output = StringIO.new
|
1297
1301
|
Pry.new(:output => str_output,
|
1298
|
-
:hooks =>
|
1299
|
-
|
1300
|
-
|
1301
|
-
}
|
1302
|
+
:hooks => Pry::Hooks.new.
|
1303
|
+
add_hook( :before_session, :my_name) { |out,_,_| out.puts "MORNING" }.
|
1304
|
+
add_hook(:after_session, :my_name) { |out,_,_| out.puts "EVENING" }
|
1302
1305
|
).repl
|
1303
1306
|
|
1304
1307
|
str_output.string.should =~ /MORNING/
|
@@ -1308,9 +1311,8 @@ describe Pry do
|
|
1308
1311
|
Pry.input.rewind
|
1309
1312
|
str_output = StringIO.new
|
1310
1313
|
Pry.new(:output => str_output,
|
1311
|
-
:hooks =>
|
1312
|
-
:before_session
|
1313
|
-
}
|
1314
|
+
:hooks => Pry::Hooks.new.
|
1315
|
+
add_hook(:before_session, :my_name) { |out,_,_| out.puts "OPEN" }
|
1314
1316
|
).repl
|
1315
1317
|
|
1316
1318
|
str_output.string.should =~ /OPEN/
|
@@ -1318,9 +1320,8 @@ describe Pry do
|
|
1318
1320
|
Pry.input.rewind
|
1319
1321
|
str_output = StringIO.new
|
1320
1322
|
Pry.new(:output => str_output,
|
1321
|
-
:hooks =>
|
1322
|
-
:after_session
|
1323
|
-
}
|
1323
|
+
:hooks => Pry::Hooks.new.
|
1324
|
+
add_hook(:after_session, :my_name) { |out,_,_| out.puts "CLOSE" }
|
1324
1325
|
).repl
|
1325
1326
|
|
1326
1327
|
str_output.string.should =~ /CLOSE/
|
data/test/test_pry_history.rb
CHANGED
@@ -2,26 +2,30 @@ require 'helper'
|
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
describe Pry do
|
5
|
-
|
6
5
|
before do
|
7
6
|
Pry.history.clear
|
8
|
-
|
9
|
-
@
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
|
8
|
+
@saved_history = "1\n2\n3\n"
|
9
|
+
|
10
|
+
Pry.history.loader = proc do |&blk|
|
11
|
+
@saved_history.lines.each { |l| blk.call(l) }
|
12
|
+
end
|
13
|
+
|
14
|
+
Pry.history.saver = proc do |lines|
|
15
|
+
@saved_history << lines.map { |l| "#{l}\n" }.join
|
16
|
+
end
|
17
|
+
|
13
18
|
Pry.load_history
|
14
19
|
end
|
15
20
|
|
16
21
|
after do
|
17
|
-
|
18
|
-
|
19
|
-
Pry.config.history.file = @old_hist
|
22
|
+
Pry.history.clear
|
23
|
+
Pry.history.restore_default_behavior
|
20
24
|
end
|
21
25
|
|
22
26
|
describe ".load_history" do
|
23
27
|
it "should read the contents of the file" do
|
24
|
-
Pry.history.to_a[-2..-1].should
|
28
|
+
Pry.history.to_a[-2..-1].should == %w(2 3)
|
25
29
|
end
|
26
30
|
end
|
27
31
|
|
@@ -29,56 +33,52 @@ describe Pry do
|
|
29
33
|
it "should include a trailing newline" do
|
30
34
|
Pry.history << "4"
|
31
35
|
Pry.save_history
|
32
|
-
|
36
|
+
@saved_history.should =~ /4\n\z/
|
33
37
|
end
|
34
38
|
|
35
39
|
it "should not change anything if history is not changed" do
|
36
|
-
|
40
|
+
@saved_history = "4\n5\n6\n"
|
37
41
|
Pry.save_history
|
38
|
-
|
42
|
+
@saved_history.should == "4\n5\n6\n"
|
39
43
|
end
|
40
44
|
|
41
45
|
it "should append new lines to the file" do
|
42
46
|
Pry.history << "4"
|
43
47
|
Pry.save_history
|
44
|
-
|
48
|
+
@saved_history.should == "1\n2\n3\n4\n"
|
45
49
|
end
|
46
50
|
|
47
51
|
it "should not clobber lines written by other Pry's in the meantime" do
|
48
52
|
Pry.history << "5"
|
49
|
-
|
53
|
+
@saved_history << "4\n"
|
50
54
|
Pry.save_history
|
51
55
|
|
52
56
|
Pry.history.to_a[-3..-1].should == ["2", "3", "5"]
|
53
|
-
|
57
|
+
@saved_history.should == "1\n2\n3\n4\n5\n"
|
54
58
|
end
|
55
59
|
|
56
60
|
it "should not delete lines from the file if this session's history was cleared" do
|
57
61
|
Pry.history.clear
|
58
62
|
Pry.save_history
|
59
|
-
|
63
|
+
@saved_history.should == "1\n2\n3\n"
|
60
64
|
end
|
61
65
|
|
62
66
|
it "should save new lines that are added after the history was cleared" do
|
63
67
|
Pry.history.clear
|
64
68
|
Pry.history << "4"
|
65
|
-
|
66
|
-
# doing this twice as libedit on 1.8.7 has bugs and sometimes ignores the
|
67
|
-
# first line in history
|
68
|
-
Pry.history << "4"
|
69
69
|
Pry.save_history
|
70
|
-
|
70
|
+
@saved_history.should =~ /1\n2\n3\n4\n/
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should only append new lines the second time it is saved" do
|
74
74
|
Pry.history << "4"
|
75
75
|
Pry.save_history
|
76
|
-
|
76
|
+
@saved_history << "5\n"
|
77
77
|
Pry.history << "6"
|
78
78
|
Pry.save_history
|
79
79
|
|
80
80
|
Pry.history.to_a[-4..-1].should == ["2", "3", "4", "6"]
|
81
|
-
|
81
|
+
@saved_history.should == "1\n2\n3\n4\n5\n6\n"
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'helper'
|
2
|
+
describe Pry do
|
3
|
+
|
4
|
+
[
|
5
|
+
["p = '", "'"],
|
6
|
+
["def", "a", "(); end"],
|
7
|
+
["p = <<FOO", "lots", "and", "lots of", "foo", "FOO"],
|
8
|
+
["[", ":lets,", "'list',", "[/nested/", "], things ]"],
|
9
|
+
["abc =~ /hello", "/"],
|
10
|
+
["issue = %W/", "343/"],
|
11
|
+
["pouts(<<HI, 'foo", "bar", "HI", "baz')"],
|
12
|
+
].each do |foo|
|
13
|
+
it "should not raise an error on broken lines: #{foo.join("\\n")}" do
|
14
|
+
output = StringIO.new
|
15
|
+
redirect_pry_io(InputTester.new(*foo), output) do
|
16
|
+
Pry.start
|
17
|
+
end
|
18
|
+
|
19
|
+
output.string.should.not =~ /SyntaxError/
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
[
|
24
|
+
["end"],
|
25
|
+
["puts )("],
|
26
|
+
["1 1"],
|
27
|
+
["puts :"],
|
28
|
+
# in this case the syntax error is "expecting ')'".
|
29
|
+
((defined? RUBY_ENGINE && RUBY_ENGINE == "rbx") ? nil : ["def", "method(1"])
|
30
|
+
].compact.each do |foo|
|
31
|
+
it "should raise an error on invalid syntax like #{foo.inspect}" do
|
32
|
+
output = StringIO.new
|
33
|
+
redirect_pry_io(InputTester.new(*foo), output) do
|
34
|
+
Pry.start
|
35
|
+
end
|
36
|
+
output.string.should =~ /SyntaxError/
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should not intefere with syntax errors explicitly raised" do
|
41
|
+
output = StringIO.new
|
42
|
+
redirect_pry_io(InputTester.new(%q{raise SyntaxError, "unexpected $end"}), output) do
|
43
|
+
Pry.start
|
44
|
+
end
|
45
|
+
output.string.should =~ /SyntaxError/
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Pry::WrappedModule do
|
4
|
+
|
5
|
+
describe "#initialize" do
|
6
|
+
it "should raise an exception when a non-module is passed" do
|
7
|
+
lambda{ Pry::WrappedModule.new(nil) }.should.raise ArgumentError
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe ".method_prefix" do
|
12
|
+
before do
|
13
|
+
Foo = Class.new
|
14
|
+
@foo = Foo.new
|
15
|
+
end
|
16
|
+
|
17
|
+
after do
|
18
|
+
Object.remove_const(:Foo)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should return Foo# for normal classes" do
|
22
|
+
Pry::WrappedModule.new(Foo).method_prefix.should == "Foo#"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should return Bar# for modules" do
|
26
|
+
Pry::WrappedModule.new(Kernel).method_prefix.should == "Kernel#"
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should return Foo. for singleton classes of classes" do
|
30
|
+
Pry::WrappedModule.new(class << Foo; self; end).method_prefix.should == "Foo."
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "of singleton classes of objects" do
|
34
|
+
Pry::WrappedModule.new(class << @foo; self; end).method_prefix.should == "self."
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "of anonymous classes should not be empty" do
|
38
|
+
Pry::WrappedModule.new(Class.new).method_prefix.should =~ /#<Class:.*>#/
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "of singleton classes of anonymous classes should not be empty" do
|
42
|
+
Pry::WrappedModule.new(class << Class.new; self; end).method_prefix.should =~ /#<Class:.*>./
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe ".singleton_class?" do
|
47
|
+
it "should be true for singleton classes" do
|
48
|
+
Pry::WrappedModule.new(class << ""; self; end).singleton_class?.should == true
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should be false for normal classes" do
|
52
|
+
Pry::WrappedModule.new(Class.new).singleton_class?.should == false
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should be false for modules" do
|
56
|
+
Pry::WrappedModule.new(Module.new).singleton_class?.should == false
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe ".singleton_instance" do
|
61
|
+
it "should raise an exception when called on a non-singleton-class" do
|
62
|
+
lambda{ Pry::WrappedModule.new(Class).singleton_instance }.should.raise ArgumentError
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should return the attached object" do
|
66
|
+
Pry::WrappedModule.new(class << "hi"; self; end).singleton_instance.should == "hi"
|
67
|
+
Pry::WrappedModule.new(class << Object; self; end).singleton_instance.should.equal?(Object)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
metadata
CHANGED
@@ -1,85 +1,77 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.8pre2
|
5
|
+
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- John Mair (banisterfiend)
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-12-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: ruby_parser
|
16
|
-
requirement: &70358296218720 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 2.3.1
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *70358296218720
|
25
14
|
- !ruby/object:Gem::Dependency
|
26
15
|
name: coderay
|
27
|
-
requirement: &
|
16
|
+
requirement: &70272200153380 !ruby/object:Gem::Requirement
|
28
17
|
none: false
|
29
18
|
requirements:
|
30
19
|
- - ~>
|
31
20
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.9
|
21
|
+
version: '0.9'
|
33
22
|
type: :runtime
|
34
23
|
prerelease: false
|
35
|
-
version_requirements: *
|
24
|
+
version_requirements: *70272200153380
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: slop
|
38
|
-
requirement: &
|
27
|
+
requirement: &70272200152100 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
|
-
- -
|
30
|
+
- - ! '>='
|
42
31
|
- !ruby/object:Gem::Version
|
43
|
-
version: 2.1
|
32
|
+
version: 2.4.1
|
33
|
+
- - <
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '3'
|
44
36
|
type: :runtime
|
45
37
|
prerelease: false
|
46
|
-
version_requirements: *
|
38
|
+
version_requirements: *70272200152100
|
47
39
|
- !ruby/object:Gem::Dependency
|
48
40
|
name: method_source
|
49
|
-
requirement: &
|
41
|
+
requirement: &70272200150660 !ruby/object:Gem::Requirement
|
50
42
|
none: false
|
51
43
|
requirements:
|
52
44
|
- - ~>
|
53
45
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.6
|
46
|
+
version: '0.6'
|
55
47
|
type: :runtime
|
56
48
|
prerelease: false
|
57
|
-
version_requirements: *
|
49
|
+
version_requirements: *70272200150660
|
58
50
|
- !ruby/object:Gem::Dependency
|
59
51
|
name: bacon
|
60
|
-
requirement: &
|
52
|
+
requirement: &70272200147760 !ruby/object:Gem::Requirement
|
61
53
|
none: false
|
62
54
|
requirements:
|
63
55
|
- - ~>
|
64
56
|
- !ruby/object:Gem::Version
|
65
|
-
version: 1.1
|
57
|
+
version: '1.1'
|
66
58
|
type: :development
|
67
59
|
prerelease: false
|
68
|
-
version_requirements: *
|
60
|
+
version_requirements: *70272200147760
|
69
61
|
- !ruby/object:Gem::Dependency
|
70
62
|
name: open4
|
71
|
-
requirement: &
|
63
|
+
requirement: &70272200138920 !ruby/object:Gem::Requirement
|
72
64
|
none: false
|
73
65
|
requirements:
|
74
66
|
- - ~>
|
75
67
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.
|
68
|
+
version: '1.3'
|
77
69
|
type: :development
|
78
70
|
prerelease: false
|
79
|
-
version_requirements: *
|
71
|
+
version_requirements: *70272200138920
|
80
72
|
- !ruby/object:Gem::Dependency
|
81
73
|
name: rake
|
82
|
-
requirement: &
|
74
|
+
requirement: &70272200136900 !ruby/object:Gem::Requirement
|
83
75
|
none: false
|
84
76
|
requirements:
|
85
77
|
- - ~>
|
@@ -87,7 +79,7 @@ dependencies:
|
|
87
79
|
version: '0.9'
|
88
80
|
type: :development
|
89
81
|
prerelease: false
|
90
|
-
version_requirements: *
|
82
|
+
version_requirements: *70272200136900
|
91
83
|
description: An IRB alternative and runtime developer console
|
92
84
|
email: jrmair@gmail.com
|
93
85
|
executables:
|
@@ -120,6 +112,7 @@ files:
|
|
120
112
|
- examples/example_prompt.rb
|
121
113
|
- examples/helper.rb
|
122
114
|
- lib/pry.rb
|
115
|
+
- lib/pry/cli.rb
|
123
116
|
- lib/pry/command_context.rb
|
124
117
|
- lib/pry/command_processor.rb
|
125
118
|
- lib/pry/command_set.rb
|
@@ -146,6 +139,7 @@ files:
|
|
146
139
|
- lib/pry/helpers/text.rb
|
147
140
|
- lib/pry/history.rb
|
148
141
|
- lib/pry/history_array.rb
|
142
|
+
- lib/pry/hooks.rb
|
149
143
|
- lib/pry/indent.rb
|
150
144
|
- lib/pry/method.rb
|
151
145
|
- lib/pry/plugins.rb
|
@@ -154,8 +148,13 @@ files:
|
|
154
148
|
- lib/pry/rbx_method.rb
|
155
149
|
- lib/pry/rbx_path.rb
|
156
150
|
- lib/pry/version.rb
|
151
|
+
- lib/pry/wrapped_module.rb
|
152
|
+
- man/pry.1
|
153
|
+
- man/pry.1.html
|
154
|
+
- man/pry.1.ronn
|
157
155
|
- pry.gemspec
|
158
156
|
- test/helper.rb
|
157
|
+
- test/test_cli.rb
|
159
158
|
- test/test_command_helpers.rb
|
160
159
|
- test/test_command_processor.rb
|
161
160
|
- test/test_command_set.rb
|
@@ -170,6 +169,7 @@ files:
|
|
170
169
|
- test/test_default_commands/test_shell.rb
|
171
170
|
- test/test_exception_whitelist.rb
|
172
171
|
- test/test_history_array.rb
|
172
|
+
- test/test_hooks.rb
|
173
173
|
- test/test_indent.rb
|
174
174
|
- test/test_input_stack.rb
|
175
175
|
- test/test_method.rb
|
@@ -177,6 +177,8 @@ files:
|
|
177
177
|
- test/test_pry_history.rb
|
178
178
|
- test/test_pry_output.rb
|
179
179
|
- test/test_special_locals.rb
|
180
|
+
- test/test_syntax_checking.rb
|
181
|
+
- test/test_wrapped_module.rb
|
180
182
|
- test/testrc
|
181
183
|
- test/testrcbad
|
182
184
|
- wiki/Customizing-pry.md
|
@@ -196,9 +198,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
199
|
none: false
|
198
200
|
requirements:
|
199
|
-
- - ! '
|
201
|
+
- - ! '>'
|
200
202
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
203
|
+
version: 1.3.1
|
202
204
|
requirements: []
|
203
205
|
rubyforge_project:
|
204
206
|
rubygems_version: 1.8.10
|
@@ -207,6 +209,7 @@ specification_version: 3
|
|
207
209
|
summary: An IRB alternative and runtime developer console
|
208
210
|
test_files:
|
209
211
|
- test/helper.rb
|
212
|
+
- test/test_cli.rb
|
210
213
|
- test/test_command_helpers.rb
|
211
214
|
- test/test_command_processor.rb
|
212
215
|
- test/test_command_set.rb
|
@@ -221,6 +224,7 @@ test_files:
|
|
221
224
|
- test/test_default_commands/test_shell.rb
|
222
225
|
- test/test_exception_whitelist.rb
|
223
226
|
- test/test_history_array.rb
|
227
|
+
- test/test_hooks.rb
|
224
228
|
- test/test_indent.rb
|
225
229
|
- test/test_input_stack.rb
|
226
230
|
- test/test_method.rb
|
@@ -228,5 +232,7 @@ test_files:
|
|
228
232
|
- test/test_pry_history.rb
|
229
233
|
- test/test_pry_output.rb
|
230
234
|
- test/test_special_locals.rb
|
235
|
+
- test/test_syntax_checking.rb
|
236
|
+
- test/test_wrapped_module.rb
|
231
237
|
- test/testrc
|
232
238
|
- test/testrcbad
|