pry 0.7.7.2 → 0.8.0pre1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/pry.rb CHANGED
@@ -20,13 +20,14 @@ if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
20
20
  end
21
21
  end
22
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"
23
+ require "#{direc}/pry/version"
24
+ require "#{direc}/pry/hooks"
25
+ require "#{direc}/pry/print"
26
+ require "#{direc}/pry/command_base"
27
+ require "#{direc}/pry/commands"
28
+ require "#{direc}/pry/prompts"
29
+ require "#{direc}/pry/custom_completions"
30
+ require "#{direc}/pry/completion"
31
+ require "#{direc}/pry/core_extensions"
32
+ require "#{direc}/pry/pry_class"
33
+ require "#{direc}/pry/pry_instance"
@@ -1,7 +1,9 @@
1
+ direc = File.dirname(__FILE__)
2
+
1
3
  require "optparse"
2
4
  require "method_source"
3
- require "pry/command_base"
4
- require "pry/pry_instance"
5
+ require "#{direc}/command_base"
6
+ require "#{direc}/pry_instance"
5
7
 
6
8
  begin
7
9
 
@@ -132,6 +134,18 @@ class Pry
132
134
  end
133
135
  end
134
136
 
137
+ # FIXME: when restoring backups does not restore descriptions
138
+ command "file-mode", "Toggle file mode." do
139
+ case Pry.active_instance.prompt
140
+ when Pry::FILE_PROMPT
141
+ Pry.active_instance.prompt = Pry::DEFAULT_PROMPT
142
+ Pry.active_instance.custom_completions = Pry::DEFAULT_CUSTOM_COMPLETIONS
143
+ else
144
+ Pry.active_instance.prompt = Pry::FILE_PROMPT
145
+ Pry.active_instance.custom_completions = Pry::FILE_COMPLETIONS
146
+ end
147
+ end
148
+
135
149
  command "nesting", "Show nesting information." do
136
150
  nesting = opts[:nesting]
137
151
 
@@ -382,17 +396,108 @@ Shows local and instance variables by default.
382
396
  end
383
397
  end
384
398
 
385
- command "cat-file", "Show output of file FILE" do |file_name|
399
+ file_map = {
400
+ [".c", ".h"] => :c,
401
+ [".cpp", ".hpp", ".cc", ".h", "cxx"] => :cpp,
402
+ ".rb" => :ruby,
403
+ ".py" => :python,
404
+ ".diff" => :diff,
405
+ ".css" => :css,
406
+ ".html" => :html,
407
+ [".yaml", ".yml"] => :yaml,
408
+ ".xml" => :xml,
409
+ ".php" => :php,
410
+ ".js" => :javascript,
411
+ ".java" => :java,
412
+ ".rhtml" => :rhtml,
413
+ ".json" => :json
414
+ }
415
+
416
+ syntax_highlight_by_file_type = lambda do |contents, file_name|
417
+ _, language_detected = file_map.find { |k, v| Array(k).include?(File.extname(file_name)) }
418
+
419
+ CodeRay.scan(contents, language_detected).term
420
+ end
421
+
422
+ read_between_the_lines = lambda do |file_name, start_line, end_line, with_line_numbers|
423
+ content = File.read(File.expand_path(file_name))
424
+
425
+ if with_line_numbers
426
+ lines = content.each_line.map.with_index { |line, idx| "#{idx + 1}: #{line}" }
427
+ else
428
+ lines = content.each_line.to_a
429
+ end
430
+
431
+ lines[start_line..end_line].join
432
+ end
433
+
434
+ add_line_numbers = lambda do |lines, start_line|
435
+ lines.each_line.map.with_index do |line, idx|
436
+ adjusted_index = idx + start_line
437
+ if Pry.color
438
+ cindex = CodeRay.scan("#{adjusted_index}", :ruby).term
439
+ "#{cindex}: #{line}"
440
+ else
441
+ "#{idx}: #{line}"
442
+ end
443
+ end
444
+ end
445
+
446
+ command "cat-file", "Show output of file FILE. Type `cat --help` for more information. Aliases: :cat" do |*args|
447
+ options= {}
448
+ file_name = nil
449
+ start_line = 0
450
+ end_line = -1
451
+
452
+ OptionParser.new do |opts|
453
+ opts.banner = %{Usage: cat-file [OPTIONS] FILE
454
+ Cat a file. Defaults to displaying whole file. Syntax highlights file if type is recognized.
455
+ e.g: cat-file hello.rb
456
+ --
457
+ }
458
+ opts.on("-l", "--line-numbers", "Show line numbers.") do |line|
459
+ options[:l] = true
460
+ end
461
+
462
+ opts.on("-s", "--start LINE", "Start line (defaults to start of file). Line 1 is the first line.") do |line|
463
+ start_line = line.to_i - 1
464
+ end
465
+
466
+ opts.on("-e", "--end LINE", "End line (defaults to end of file). Line -1 is the last line.") do |line|
467
+ end_line = line.to_i - 1
468
+ end
469
+
470
+ opts.on_tail("-h", "--help", "This message.") do
471
+ output.puts opts
472
+ options[:h] = true
473
+ end
474
+ end.order(args) do |v|
475
+ file_name = v
476
+ end
477
+
478
+ next if options[:h]
479
+
386
480
  if !file_name
387
481
  output.puts "Must provide a file name."
388
482
  next
389
483
  end
390
484
 
391
- contents = File.read(File.expand_path(file_name))
485
+ contents = read_between_the_lines.call(file_name, start_line, end_line, false)
486
+
487
+ if Pry.color
488
+ contents = syntax_highlight_by_file_type.call(contents, file_name)
489
+ end
490
+
491
+ if options[:l]
492
+ contents = add_line_numbers.call(contents, start_line + 1)
493
+ end
494
+
392
495
  output.puts contents
393
496
  contents
394
497
  end
395
498
 
499
+ alias_command ":cat", "cat-file", ""
500
+
396
501
  command "eval-file", "Eval a Ruby script. Type `eval-file --help` for more info." do |*args|
397
502
  options = {}
398
503
  target = target()
@@ -461,32 +566,65 @@ e.g: eval-file -c self "hello.rb"
461
566
  next
462
567
  end
463
568
 
464
- target.eval("#{obj}").pry
569
+ Pry.start target.eval("#{obj}")
465
570
  end
466
571
 
467
- process_comment_markup = lambda do |comment, code_type|
572
+ strip_color_codes = lambda do |str|
573
+ str.gsub(/\e\[.*?(\d)+m/, '')
574
+ end
575
+
576
+ process_rdoc = lambda do |comment, code_type|
577
+ comment = comment.dup
468
578
  comment.gsub(/<code>(?:\s*\n)?(.*?)\s*<\/code>/m) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
469
579
  gsub(/<em>(?:\s*\n)?(.*?)\s*<\/em>/m) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
470
580
  gsub(/<i>(?:\s*\n)?(.*?)\s*<\/i>/m) { Pry.color ? "\e[34m#{$1}\e[0m" : $1 }.
471
581
  gsub(/\B\+(\w*?)\+\B/) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
472
582
  gsub(/((?:^[ \t]+.+(?:\n+|\Z))+)/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
473
- gsub(/`(?:\s*\n)?(.*?)\s*`/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
474
- gsub(/^@(param|return|example|option|yield|attr|attr_reader|attr_writer)/) { Pry.color ? "\e[33m#{$1}\e[0m": $1 }
583
+ gsub(/`(?:\s*\n)?(.*?)\s*`/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }
584
+ end
585
+
586
+ process_yardoc_tag = lambda do |comment, tag|
587
+ in_tag_block = nil
588
+ output = comment.lines.map do |v|
589
+ if in_tag_block && v !~ /^\S/
590
+ strip_color_codes.call(strip_color_codes.call(v))
591
+ elsif in_tag_block
592
+ in_tag_block = false
593
+ v
594
+ else
595
+ in_tag_block = true if v =~ /^@#{tag}/
596
+ v
597
+ end
598
+ end.join
599
+ end
600
+
601
+ # FIXME - invert it -- should only ALLOW color if @example
602
+ process_yardoc = lambda do |comment|
603
+ yard_tags = ["param", "return", "option", "yield", "attr", "attr_reader", "attr_writer",
604
+ "deprecate", "example"]
605
+ (yard_tags - ["example"]).inject(comment) { |a, v| process_yardoc_tag.call(a, v) }.
606
+ gsub(/^@(#{yard_tags.join("|")})/) { Pry.color ? "\e[33m#{$1}\e[0m": $1 }
607
+ end
608
+
609
+ process_comment_markup = lambda do |comment, code_type|
610
+ process_yardoc.call process_rdoc.call(comment, code_type)
475
611
  end
476
612
 
477
613
  # strip leading whitespace but preserve indentation
478
614
  strip_leading_whitespace = lambda do |text|
615
+ return text if text.empty?
479
616
  leading_spaces = text.lines.first[/^(\s+)/, 1]
480
617
  text.gsub(/^#{leading_spaces}/, '')
481
618
  end
482
619
 
483
620
  strip_leading_hash_and_whitespace_from_ruby_comments = lambda do |comment|
484
621
  comment = comment.dup
622
+ comment.gsub!(/\A\#+?$/, '')
485
623
  comment.gsub!(/^\s*#/, '')
486
624
  strip_leading_whitespace.call(comment)
487
625
  end
488
626
 
489
- command "show-doc", "Show the comments above METH. Type `show-doc --help` for more info." do |*args|
627
+ command "show-doc", "Show the comments above METH. Type `show-doc --help` for more info. Aliases: \?" do |*args|
490
628
  options = {}
491
629
  target = target()
492
630
  meth_name = nil
@@ -534,7 +672,10 @@ e.g show-doc hello_method
534
672
  doc = strip_leading_hash_and_whitespace_from_ruby_comments.call(doc)
535
673
  end
536
674
 
675
+ next output.puts("No documentation found.") if doc.empty?
676
+
537
677
  doc = process_comment_markup.call(doc, code_type)
678
+
538
679
  output.puts make_header.call(meth, code_type)
539
680
  output.puts doc
540
681
  doc
@@ -555,6 +696,10 @@ Show the source for method METH. Tries instance methods first and then methods b
555
696
  e.g: show-method hello_method
556
697
  --
557
698
  }
699
+ opts.on("-l", "--line-numbers", "Show line numbers.") do |line|
700
+ options[:l] = true
701
+ end
702
+
558
703
  opts.on("-M", "--instance-methods", "Operate on instance methods.") do
559
704
  options[:M] = true
560
705
  end
@@ -598,6 +743,11 @@ e.g: show-method hello_method
598
743
  if Pry.color
599
744
  code = CodeRay.scan(code, code_type).term
600
745
  end
746
+
747
+ if options[:l]
748
+ start_line = meth.source_location ? meth.source_location.last : 1
749
+ code = add_line_numbers.call(code, start_line)
750
+ end
601
751
 
602
752
  output.puts code
603
753
  code
@@ -0,0 +1,6 @@
1
+ class Pry
2
+
3
+ # This proc will be instance_eval's against the active Pry instance
4
+ DEFAULT_CUSTOM_COMPLETIONS = proc { commands.commands.keys }
5
+ FILE_COMPLETIONS = proc { commands.commands.keys + Dir.entries('.') }
6
+ end
@@ -23,4 +23,9 @@ class Pry
23
23
 
24
24
  # A simple prompt - doesn't display target or nesting level
25
25
  SIMPLE_PROMPT = [proc { ">> " }, proc { ">* " }]
26
+
27
+ FILE_PROMPT = [
28
+ proc { |target_self, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} $ " },
29
+ proc { |target_self, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} * " }
30
+ ]
26
31
  end
@@ -57,6 +57,8 @@ class Pry
57
57
  # :after_session => proc { puts "goodbye" }
58
58
  attr_accessor :hooks
59
59
 
60
+ attr_accessor :custom_completions
61
+
60
62
  # Get the array of Procs to be used for the prompts by default by
61
63
  # all Pry instances.
62
64
  # @return [Array<Proc>] The array of Procs to be used for the
@@ -122,6 +124,9 @@ class Pry
122
124
  else
123
125
  obj.to_s
124
126
  end
127
+
128
+ rescue NoMethodError
129
+ "unknown"
125
130
  end
126
131
 
127
132
  # A version of `Pry.view` that clips the output to `max_size` chars.
@@ -189,6 +194,7 @@ class Pry
189
194
  @prompt = DEFAULT_PROMPT
190
195
  @print = DEFAULT_PRINT
191
196
  @hooks = DEFAULT_HOOKS
197
+ @custom_completions = DEFAULT_CUSTOM_COMPLETIONS
192
198
  @color = true
193
199
  @should_load_rc = true
194
200
  @rc_loaded = false
@@ -2,7 +2,7 @@ class Pry
2
2
 
3
3
  # The list of configuration options.
4
4
  CONFIG_OPTIONS = [:input, :output, :commands, :print,
5
- :prompt, :hooks]
5
+ :prompt, :hooks, :custom_completions]
6
6
 
7
7
  attr_accessor *CONFIG_OPTIONS
8
8
 
@@ -71,8 +71,8 @@ class Pry
71
71
  Pry.active_instance = self
72
72
 
73
73
  # Make sure special locals exist
74
- target.eval("_pry_ = Pry.active_instance")
75
- target.eval("_ = Pry.last_result")
74
+ target.eval("_pry_ = ::Pry.active_instance")
75
+ target.eval("_ = ::Pry.last_result")
76
76
  self.session_target = target
77
77
  end
78
78
 
@@ -93,7 +93,7 @@ class Pry
93
93
 
94
94
  return_value
95
95
  end
96
-
96
+
97
97
  # Start a read-eval-print-loop.
98
98
  # If no parameter is given, default to top-level (main).
99
99
  # @param [Object, Binding] target The receiver of the Pry session
@@ -149,13 +149,13 @@ class Pry
149
149
 
150
150
  if input == Readline
151
151
  # Readline tab completion
152
- Readline.completion_proc = Pry::InputCompleter.build_completion_proc(target, commands.commands.keys)
152
+ Readline.completion_proc = Pry::InputCompleter.build_completion_proc target, instance_eval(&custom_completions)
153
153
  end
154
154
 
155
155
 
156
156
  # save the pry instance to active_instance
157
157
  Pry.active_instance = self
158
- target.eval("_pry_ = Pry.active_instance")
158
+ target.eval("_pry_ = ::Pry.active_instance")
159
159
 
160
160
  # eval the expression and save to last_result
161
161
  # Do not want __FILE__, __LINE__ here because we need to distinguish
@@ -228,7 +228,7 @@ class Pry
228
228
  # @param [Binding] target The binding to set `_` on.
229
229
  def set_last_result(result, target)
230
230
  Pry.last_result = result
231
- target.eval("_ = Pry.last_result")
231
+ target.eval("_ = ::Pry.last_result")
232
232
  end
233
233
 
234
234
  # Set the last exception for a session.
@@ -237,9 +237,29 @@ class Pry
237
237
  # @param [Binding] target The binding to set `_ex_` on.
238
238
  def set_last_exception(ex, target)
239
239
  Pry.last_exception = ex
240
- target.eval("_ex_ = Pry.last_exception")
240
+ target.eval("_ex_ = ::Pry.last_exception")
241
+ end
242
+
243
+ # FIXME
244
+ def system_command(val)
245
+ if val =~ /^:(.*)/
246
+ execute_system_command($1)
247
+ val.clear
248
+ else
249
+ return false
250
+ end
251
+ true
241
252
  end
242
253
 
254
+ def execute_system_command(cmd)
255
+ if cmd =~ /^cd\s+(.+)/i
256
+ Dir.chdir(File.expand_path($1))
257
+ system(cmd)
258
+ else
259
+ system(cmd)
260
+ end
261
+ end
262
+
243
263
  # Determine whether a Pry command was matched and return command data
244
264
  # and argument string.
245
265
  # This method should not need to be invoked directly.
@@ -266,6 +286,8 @@ class Pry
266
286
  def val.clear() replace("") end
267
287
  def eval_string.clear() replace("") end
268
288
 
289
+ return if system_command(val)
290
+
269
291
  cmd_data, args_string = command_matched(val)
270
292
 
271
293
  # no command was matched, so return to caller
@@ -355,7 +377,7 @@ class Pry
355
377
  end
356
378
  end
357
379
 
358
- if RUBY_VERSION =~ /1.9/
380
+ if RUBY_VERSION =~ /1.9/ && RUBY_ENGINE == "ruby"
359
381
  require 'ripper'
360
382
 
361
383
  # Determine if a string of code is a valid Ruby expression.
@@ -1,3 +1,3 @@
1
1
  class Pry
2
- VERSION = "0.7.7.2"
2
+ VERSION = "0.8.0pre1"
3
3
  end
@@ -10,15 +10,9 @@ puts "Testing Pry #{Pry::VERSION}"
10
10
  puts "With method_source version #{MethodSource::VERSION}"
11
11
  puts "--"
12
12
 
13
- # Ensure we do not execute any rc files
14
- Pry::RC_FILES.clear
15
- Pry.color = false
16
- Pry.should_load_rc = false
17
-
18
13
  describe Pry do
19
14
  describe "open a Pry session on an object" do
20
15
  describe "rep" do
21
-
22
16
  before do
23
17
  class Hello
24
18
  end
@@ -1,3 +1,8 @@
1
+ # Ensure we do not execute any rc files
2
+ Pry::RC_FILES.clear
3
+ Pry.color = false
4
+ Pry.should_load_rc = false
5
+
1
6
  class Module
2
7
  public :remove_const
3
8
  end
metadata CHANGED
@@ -1,114 +1,123 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.7.7.2
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 8
8
+ - 0pre1
9
+ version: 0.8.0pre1
6
10
  platform: ruby
7
11
  authors:
8
- - John Mair (banisterfiend)
12
+ - John Mair (banisterfiend)
9
13
  autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
16
 
13
- date: 2011-04-01 00:00:00 +13:00
17
+ date: 2011-04-07 00:00:00 +12:00
14
18
  default_executable:
15
19
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: ruby_parser
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
20
- none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: 2.0.5
25
- type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: coderay
29
- prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
31
- none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: 0.9.7
36
- type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: bacon
40
- prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 1.1.0
47
- type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: method_source
51
- prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: 0.4.0
58
- type: :runtime
59
- version_requirements: *id004
20
+ - !ruby/object:Gem::Dependency
21
+ name: ruby_parser
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 2
30
+ - 0
31
+ - 5
32
+ version: 2.0.5
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: coderay
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 0
45
+ - 9
46
+ - 7
47
+ version: 0.9.7
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: bacon
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ segments:
59
+ - 1
60
+ - 1
61
+ - 0
62
+ version: 1.1.0
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: method_source
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ segments:
74
+ - 0
75
+ - 4
76
+ - 0
77
+ version: 0.4.0
78
+ type: :runtime
79
+ version_requirements: *id004
60
80
  description: attach an irb-like session to any object at runtime
61
81
  email: jrmair@gmail.com
62
82
  executables:
63
- - pry
83
+ - pry
64
84
  extensions: []
65
85
 
66
86
  extra_rdoc_files: []
67
87
 
68
88
  files:
69
- - lib/pry.rb
70
- - lib/pry.rbc
71
- - lib/pry/commands.rb
72
- - lib/pry/print.rbc
73
- - lib/pry/version.rb
74
- - lib/pry/pry_class.rbc
75
- - lib/pry/command_base.rb
76
- - lib/pry/pry_instance.rbc
77
- - lib/pry/prompts.rb
78
- - lib/pry/#commands.rb#
79
- - lib/pry/completion.rbc
80
- - lib/pry/hooks.rb
81
- - lib/pry/commands.rbc
82
- - lib/pry/core_extensions.rbc
83
- - lib/pry/prompts.rbc
84
- - lib/pry/core_extensions.rb
85
- - lib/pry/command_base.rbc
86
- - lib/pry/version.rbc
87
- - lib/pry/completion.rb
88
- - lib/pry/print.rb
89
- - lib/pry/pry_class.rb
90
- - lib/pry/pry_instance.rb
91
- - lib/pry/hooks.rbc
92
- - examples/example_commands.rb
93
- - examples/example_image_edit.rb
94
- - examples/example_input2.rb
95
- - examples/example_prompt.rb
96
- - examples/example_command_override.rb
97
- - examples/example_output.rb
98
- - examples/example_hooks.rb
99
- - examples/example_print.rb
100
- - examples/example_basic.rb
101
- - examples/example_input.rb
102
- - test/test.rb
103
- - test/test_helper.rb
104
- - test/testrc
105
- - CHANGELOG
106
- - LICENSE
107
- - README.markdown
108
- - Rakefile
109
- - .gemtest
110
- - bin/pry
111
- has_rdoc: true
89
+ - lib/pry/commands.rb
90
+ - lib/pry/version.rb
91
+ - lib/pry/command_base.rb
92
+ - lib/pry/prompts.rb
93
+ - lib/pry/hooks.rb
94
+ - lib/pry/custom_completions.rb
95
+ - lib/pry/core_extensions.rb
96
+ - lib/pry/completion.rb
97
+ - lib/pry/print.rb
98
+ - lib/pry/pry_class.rb
99
+ - lib/pry/pry_instance.rb
100
+ - lib/pry.rb
101
+ - examples/example_commands.rb
102
+ - examples/example_image_edit.rb
103
+ - examples/example_input2.rb
104
+ - examples/example_prompt.rb
105
+ - examples/example_command_override.rb
106
+ - examples/example_output.rb
107
+ - examples/example_hooks.rb
108
+ - examples/example_print.rb
109
+ - examples/example_basic.rb
110
+ - examples/example_input.rb
111
+ - test/test.rb
112
+ - test/test_helper.rb
113
+ - test/testrc
114
+ - CHANGELOG
115
+ - LICENSE
116
+ - README.markdown
117
+ - Rakefile
118
+ - .gemtest
119
+ - bin/pry
120
+ has_rdoc: yard
112
121
  homepage: http://banisterfiend.wordpress.com
113
122
  licenses: []
114
123
 
@@ -116,23 +125,29 @@ post_install_message:
116
125
  rdoc_options: []
117
126
 
118
127
  require_paths:
119
- - lib
128
+ - lib
120
129
  required_ruby_version: !ruby/object:Gem::Requirement
121
130
  none: false
122
131
  requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: "0"
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ segments:
135
+ - 0
136
+ version: "0"
126
137
  required_rubygems_version: !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: "0"
140
+ - - ">"
141
+ - !ruby/object:Gem::Version
142
+ segments:
143
+ - 1
144
+ - 3
145
+ - 1
146
+ version: 1.3.1
132
147
  requirements: []
133
148
 
134
149
  rubyforge_project:
135
- rubygems_version: 1.5.1
150
+ rubygems_version: 1.3.7
136
151
  signing_key:
137
152
  specification_version: 3
138
153
  summary: attach an irb-like session to any object at runtime