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 +11 -10
- data/lib/pry/commands.rb +159 -9
- data/lib/pry/custom_completions.rb +6 -0
- data/lib/pry/prompts.rb +5 -0
- data/lib/pry/pry_class.rb +6 -0
- data/lib/pry/pry_instance.rb +31 -9
- data/lib/pry/version.rb +1 -1
- data/test/test.rb +0 -6
- data/test/test_helper.rb +5 -0
- metadata +115 -100
- data/lib/pry.rbc +0 -541
- data/lib/pry/#commands.rb# +0 -718
- data/lib/pry/command_base.rbc +0 -1795
- data/lib/pry/commands.rbc +0 -14430
- data/lib/pry/completion.rbc +0 -4485
- data/lib/pry/core_extensions.rbc +0 -592
- data/lib/pry/hooks.rbc +0 -649
- data/lib/pry/print.rbc +0 -400
- data/lib/pry/prompts.rbc +0 -574
- data/lib/pry/pry_class.rbc +0 -2376
- data/lib/pry/pry_instance.rbc +0 -4633
- data/lib/pry/version.rbc +0 -131
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/
|
30
|
-
require "pry/
|
31
|
-
require "pry/
|
32
|
-
require "pry/
|
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"
|
data/lib/pry/commands.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
direc = File.dirname(__FILE__)
|
2
|
+
|
1
3
|
require "optparse"
|
2
4
|
require "method_source"
|
3
|
-
require "
|
4
|
-
require "
|
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
|
-
|
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 =
|
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}")
|
569
|
+
Pry.start target.eval("#{obj}")
|
465
570
|
end
|
466
571
|
|
467
|
-
|
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
|
-
|
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
|
data/lib/pry/prompts.rb
CHANGED
@@ -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
|
data/lib/pry/pry_class.rb
CHANGED
@@ -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
|
data/lib/pry/pry_instance.rb
CHANGED
@@ -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
|
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.
|
data/lib/pry/version.rb
CHANGED
data/test/test.rb
CHANGED
@@ -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
|
data/test/test_helper.rb
CHANGED
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
|
-
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 8
|
8
|
+
- 0pre1
|
9
|
+
version: 0.8.0pre1
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
|
-
|
12
|
+
- John Mair (banisterfiend)
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
16
|
|
13
|
-
date: 2011-04-
|
17
|
+
date: 2011-04-07 00:00:00 +12:00
|
14
18
|
default_executable:
|
15
19
|
dependencies:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
83
|
+
- pry
|
64
84
|
extensions: []
|
65
85
|
|
66
86
|
extra_rdoc_files: []
|
67
87
|
|
68
88
|
files:
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
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
|
-
|
128
|
+
- lib
|
120
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
121
130
|
none: false
|
122
131
|
requirements:
|
123
|
-
|
124
|
-
|
125
|
-
|
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
|
-
|
131
|
-
|
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.
|
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
|