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.
Files changed (49) hide show
  1. data/.gitignore +1 -3
  2. data/README.markdown +3 -1
  3. data/Rakefile +48 -31
  4. data/bin/pry +2 -80
  5. data/lib/pry.rb +17 -20
  6. data/lib/pry/cli.rb +152 -0
  7. data/lib/pry/command_processor.rb +13 -0
  8. data/lib/pry/command_set.rb +102 -9
  9. data/lib/pry/config.rb +28 -6
  10. data/lib/pry/default_commands/context.rb +9 -8
  11. data/lib/pry/default_commands/documentation.rb +55 -13
  12. data/lib/pry/default_commands/easter_eggs.rb +1 -1
  13. data/lib/pry/default_commands/input.rb +25 -25
  14. data/lib/pry/default_commands/introspection.rb +19 -18
  15. data/lib/pry/default_commands/ls.rb +23 -38
  16. data/lib/pry/default_commands/shell.rb +47 -15
  17. data/lib/pry/helpers/command_helpers.rb +28 -6
  18. data/lib/pry/helpers/options_helpers.rb +7 -4
  19. data/lib/pry/helpers/text.rb +23 -3
  20. data/lib/pry/history.rb +55 -17
  21. data/lib/pry/history_array.rb +2 -0
  22. data/lib/pry/hooks.rb +108 -0
  23. data/lib/pry/indent.rb +9 -5
  24. data/lib/pry/method.rb +99 -50
  25. data/lib/pry/plugins.rb +10 -2
  26. data/lib/pry/pry_class.rb +48 -20
  27. data/lib/pry/pry_instance.rb +106 -91
  28. data/lib/pry/version.rb +1 -1
  29. data/lib/pry/wrapped_module.rb +73 -0
  30. data/man/pry.1 +195 -0
  31. data/man/pry.1.html +204 -0
  32. data/man/pry.1.ronn +141 -0
  33. data/pry.gemspec +21 -24
  34. data/test/helper.rb +12 -3
  35. data/test/test_cli.rb +78 -0
  36. data/test/test_command_set.rb +193 -1
  37. data/test/test_default_commands/test_context.rb +19 -4
  38. data/test/test_default_commands/test_input.rb +2 -2
  39. data/test/test_default_commands/test_introspection.rb +63 -6
  40. data/test/test_default_commands/test_ls.rb +8 -35
  41. data/test/test_default_commands/test_shell.rb +36 -1
  42. data/test/test_hooks.rb +175 -0
  43. data/test/test_indent.rb +2 -0
  44. data/test/test_method.rb +10 -0
  45. data/test/test_pry.rb +35 -34
  46. data/test/test_pry_history.rb +24 -24
  47. data/test/test_syntax_checking.rb +47 -0
  48. data/test/test_wrapped_module.rb +71 -0
  49. 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 "valid_expression?" do
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.valid_expression?(a)
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 the target object' do
1066
- Pry.start(self, :input => StringIO.new("exit-all"), :output => Pry::NullOutput).should == self
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(true, 0).should == "test prompt> "
1093
- Pry.new.select_prompt(false, 0).should == "test 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(true, 0).should == "A"
1099
- pry_tester.select_prompt(false, 0).should == "A"
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(true, 0).should == "test prompt> "
1103
- Pry.new.select_prompt(false, 0).should == "test 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(true, 0).should == "test prompt> "
1112
- Pry.new.select_prompt(false, 0).should == "test 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(true, 0).should == "A"
1118
- pry_tester.select_prompt(false, 0).should == "B"
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(true, 0).should == "test prompt> "
1122
- Pry.new.select_prompt(false, 0).should == "test 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(true, 0).should == "P>"
1153
+ pry.select_prompt(@empty_input_buffer, @context).should == "P>"
1149
1154
  pry.re
1150
- pry.select_prompt(true, 0).should =~ /\Apry .* \$ \z/
1155
+ pry.select_prompt(@empty_input_buffer, @context).should =~ /\Apry .* \$ \z/
1151
1156
  pry.re
1152
- pry.select_prompt(true, 0).should == "P>"
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 => proc { |out,_,_| out.puts "HELLO" },
1286
- :after_session => proc { |out,_,_| out.puts "BYE" }
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
- :before_session => proc { |out,_,_| out.puts "MORNING" },
1300
- :after_session => proc { |out,_,_| out.puts "EVENING" }
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 => proc { |out,_,_| out.puts "OPEN" }
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 => proc { |out,_,_| out.puts "CLOSE" }
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/
@@ -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
- @file = Tempfile.new(["tmp", ".pry_history"])
9
- @hist = @file.path
10
- File.open(@hist, 'w') {|f| f << "1\n2\n3\n" }
11
- @old_hist = Pry.config.history.file
12
- Pry.config.history.file = @hist
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
- @file.close
18
- File.unlink(@hist)
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 === ["2", "3"]
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
- File.read(@hist).should =~ /4\n\z/
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
- File.open(@hist, 'w') {|f| f << "4\n5\n6\n" }
40
+ @saved_history = "4\n5\n6\n"
37
41
  Pry.save_history
38
- File.read(@hist).should == "4\n5\n6\n"
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
- File.read(@hist).should == "1\n2\n3\n4\n"
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
- File.open(@hist, 'a') {|f| f << "4\n" }
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
- File.read(@hist).should == "1\n2\n3\n4\n5\n"
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
- File.read(@hist).should == "1\n2\n3\n"
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
- File.read(@hist).should =~ /1\n2\n3\n4\n/
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
- File.open(@hist, 'a') {|f| f << "5\n" }
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
- File.read(@hist).should == "1\n2\n3\n4\n5\n6\n"
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.7.4
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-11-05 00:00:00.000000000 Z
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: &70358296218040 !ruby/object:Gem::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.8
21
+ version: '0.9'
33
22
  type: :runtime
34
23
  prerelease: false
35
- version_requirements: *70358296218040
24
+ version_requirements: *70272200153380
36
25
  - !ruby/object:Gem::Dependency
37
26
  name: slop
38
- requirement: &70358296217040 !ruby/object:Gem::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.0
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: *70358296217040
38
+ version_requirements: *70272200152100
47
39
  - !ruby/object:Gem::Dependency
48
40
  name: method_source
49
- requirement: &70358296216480 !ruby/object:Gem::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.7
46
+ version: '0.6'
55
47
  type: :runtime
56
48
  prerelease: false
57
- version_requirements: *70358296216480
49
+ version_requirements: *70272200150660
58
50
  - !ruby/object:Gem::Dependency
59
51
  name: bacon
60
- requirement: &70358296215860 !ruby/object:Gem::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.0
57
+ version: '1.1'
66
58
  type: :development
67
59
  prerelease: false
68
- version_requirements: *70358296215860
60
+ version_requirements: *70272200147760
69
61
  - !ruby/object:Gem::Dependency
70
62
  name: open4
71
- requirement: &70358296215360 !ruby/object:Gem::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.0.1
68
+ version: '1.3'
77
69
  type: :development
78
70
  prerelease: false
79
- version_requirements: *70358296215360
71
+ version_requirements: *70272200138920
80
72
  - !ruby/object:Gem::Dependency
81
73
  name: rake
82
- requirement: &70358296214740 !ruby/object:Gem::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: *70358296214740
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: '0'
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