pry 0.9.4pre5-i386-mswin32 → 0.9.4pre6-i386-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +19 -3
- data/CONTRIBUTORS +9 -6
- data/TODO +0 -1
- data/lib/pry.rb +38 -32
- data/lib/pry/default_commands/input.rb +2 -2
- data/lib/pry/default_commands/introspection.rb +3 -2
- data/lib/pry/default_commands/ls.rb +2 -2
- data/lib/pry/helpers/command_helpers.rb +10 -0
- data/lib/pry/pry_class.rb +6 -2
- data/lib/pry/version.rb +1 -1
- data/pry.gemspec +12 -12
- data/test/test_default_commands/test_input.rb +2 -2
- data/test/test_pry.rb +27 -13
- data/test/test_pry_history.rb +4 -2
- metadata +15 -15
data/CHANGELOG
CHANGED
@@ -1,4 +1,20 @@
|
|
1
|
-
|
1
|
+
8/9/2011 version 0.9.4
|
2
|
+
|
3
|
+
MAJOR NEW FEATURES:
|
4
|
+
- JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
|
5
|
+
- extended cd syntax: cd ../@x/y
|
6
|
+
- play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
|
7
|
+
- history saving/loading is now lightning fast
|
8
|
+
- 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
|
9
|
+
- 'edit' command is also, in general more intelligent
|
10
|
+
- ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
|
11
|
+
- new switch-to command for moving around the binding stack without exiting out of sessions
|
12
|
+
- more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
|
13
|
+
- major bug fix for windows systems
|
14
|
+
- much better support for huge objects, should no longer hang pry (see #245)
|
15
|
+
- cat --ex and edit --ex now work better
|
16
|
+
|
17
|
+
complete CHANGELOG:
|
2
18
|
* tempfile should end in .rb (for edit -t)
|
3
19
|
* ls output should not be in array format
|
4
20
|
* fix history saving (should not save all of Readline::HISTORY, but only what changed)
|
@@ -9,8 +25,6 @@
|
|
9
25
|
* got rid of warnings caused by stricter ruby 1.9.3 rules
|
10
26
|
* remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
|
11
27
|
* 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
|
12
|
-
* changed `exit` command so that it now called Kernel#exit (after saving history)
|
13
|
-
* 'quit' now behaves like 'exit-all' (and aliased to exit-all) - it breaks out of the repl loop and sets empties the binding_stack
|
14
28
|
* 'cd ..' just pops a binding off the binding_stack with special behaviour when only one binding in stack - it breaks out of the repl loop
|
15
29
|
* added switch-to command (like jump-to but doesnt unwind the stack)
|
16
30
|
* show-method and show-doc now accept multiple method names
|
@@ -34,6 +48,8 @@
|
|
34
48
|
* added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
|
35
49
|
* _pry_ now passed as 3rd parameter to :before_session hook
|
36
50
|
* ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
|
51
|
+
* ls separator configurable via, e.g Pry.config.ls.separator = " "
|
52
|
+
* Pry.view_clip() now only calls inspect on a few immediates, otherwise uses the #<> syntax, which has been truncated further to exclude teh mem address, again related to #245
|
37
53
|
|
38
54
|
*/7/2011 version 0.9.3
|
39
55
|
* cat --ex (cats 5 lines above and below line in file where exception was raised)
|
data/CONTRIBUTORS
CHANGED
@@ -1,13 +1,16 @@
|
|
1
|
-
|
1
|
+
616 John Mair
|
2
2
|
76 Rob Gleeson
|
3
3
|
50 Lee Jarvis
|
4
|
-
|
4
|
+
47 Mon ouïe
|
5
5
|
18 David Palm
|
6
|
+
16 Conrad Irwin
|
7
|
+
14 Ryan Fitzgerald
|
6
8
|
13 epitron
|
7
|
-
8 Conrad Irwin
|
8
|
-
6 Ryan Fitzgerald
|
9
9
|
2 Darrick Wiebe
|
10
|
-
2
|
10
|
+
2 robgleeson
|
11
11
|
2 Eric Christopherson
|
12
|
-
|
12
|
+
2 Xavier Shay
|
13
13
|
1 Tim Pope
|
14
|
+
1 Gosha Arinich
|
15
|
+
1 Josh Cheek
|
16
|
+
1 Eero Saynatkari
|
data/TODO
CHANGED
data/lib/pry.rb
CHANGED
@@ -17,7 +17,7 @@ class Pry
|
|
17
17
|
end
|
18
18
|
}
|
19
19
|
|
20
|
-
# The default
|
20
|
+
# The default print
|
21
21
|
DEFAULT_PRINT = proc do |output, value|
|
22
22
|
stringified = begin
|
23
23
|
value.pretty_inspect
|
@@ -45,6 +45,11 @@ class Pry
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
# useful when playing with truly enormous objects
|
49
|
+
CLIPPED_PRINT = proc do |output, value|
|
50
|
+
output.puts "=> #{Pry.view_clip(value)}"
|
51
|
+
end
|
52
|
+
|
48
53
|
# Will only show the first line of the backtrace
|
49
54
|
DEFAULT_EXCEPTION_HANDLER = proc do |output, exception|
|
50
55
|
output.puts "#{exception.class}: #{exception.message}"
|
@@ -53,22 +58,23 @@ class Pry
|
|
53
58
|
|
54
59
|
# The default prompt; includes the target and nesting level
|
55
60
|
DEFAULT_PROMPT = [
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
61
|
+
proc { |target_self, nest_level, _|
|
62
|
+
if nest_level == 0
|
63
|
+
"pry(#{Pry.view_clip(target_self)})> "
|
64
|
+
else
|
65
|
+
"pry(#{Pry.view_clip(target_self)}):#{nest_level}> "
|
66
|
+
end
|
67
|
+
},
|
68
|
+
|
69
|
+
proc { |target_self, nest_level, _|
|
70
|
+
if nest_level == 0
|
71
|
+
"pry(#{Pry.view_clip(target_self)})* "
|
72
|
+
else
|
73
|
+
"pry(#{Pry.view_clip(target_self)}):#{nest_level}* "
|
74
|
+
end
|
75
|
+
}
|
71
76
|
]
|
77
|
+
|
72
78
|
# Deal with the ^D key being pressed, different behaviour in
|
73
79
|
# different cases:
|
74
80
|
# 1) In an expression - behave like `!` command (clear input buffer)
|
@@ -92,22 +98,22 @@ class Pry
|
|
92
98
|
SIMPLE_PROMPT = [proc { ">> " }, proc { " | " }]
|
93
99
|
|
94
100
|
SHELL_PROMPT = [
|
95
|
-
|
96
|
-
|
101
|
+
proc { |target_self, _, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} $ " },
|
102
|
+
proc { |target_self, _, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} * " }
|
97
103
|
]
|
98
104
|
|
99
105
|
# A prompt that includes the full object path as well as
|
100
106
|
# input/output (_in_ and _out_) information. Good for navigation.
|
101
107
|
NAV_PROMPT = [
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
108
|
+
proc do |_, level, pry|
|
109
|
+
tree = pry.binding_stack.map { |b| Pry.view_clip(b.eval("self")) }.join " / "
|
110
|
+
"[#{pry.input_array.size}] (pry) #{tree}: #{level}> "
|
111
|
+
end,
|
112
|
+
proc do |_, level, pry|
|
113
|
+
tree = pry.binding_stack.map { |b| Pry.view_clip(b.eval("self")) }.join " / "
|
114
|
+
"[#{pry.input_array.size}] (pry) #{tree}: #{level}* "
|
115
|
+
end,
|
116
|
+
]
|
111
117
|
|
112
118
|
|
113
119
|
# As a REPL, we often want to catch any unexpected exceptions that may have
|
@@ -116,15 +122,15 @@ class Pry
|
|
116
122
|
module RescuableException
|
117
123
|
def self.===(exception)
|
118
124
|
case exception
|
119
|
-
|
120
|
-
|
125
|
+
# Catch when the user hits ^C (Interrupt < SignalException), and assume
|
126
|
+
# that they just wanted to stop the in-progress command (just like bash etc.)
|
121
127
|
when Interrupt
|
122
128
|
true
|
123
|
-
|
124
|
-
|
129
|
+
# Don't catch signals (particularly not SIGTERM) as these are unlikely to be
|
130
|
+
# intended for pry itself. We should also make sure that Kernel#exit works.
|
125
131
|
when SystemExit, SignalException
|
126
132
|
false
|
127
|
-
|
133
|
+
# All other exceptions will be caught.
|
128
134
|
else
|
129
135
|
true
|
130
136
|
end
|
@@ -12,7 +12,7 @@ class Pry
|
|
12
12
|
render_output(false, 1, Pry.color ? CodeRay.scan(eval_string, :ruby).term : eval_string)
|
13
13
|
end
|
14
14
|
|
15
|
-
command(/amend-line
|
15
|
+
command(/amend-line(?: (-?\d+)(?:\.\.(-?\d+))?)?/, "Amend a line of input in multi-line mode. Type `amend-line --help` for more information. Aliases %",
|
16
16
|
:interpolate => false, :listing => "amend-line") do |*args|
|
17
17
|
start_line_number, end_line_number, replacement_line = *args
|
18
18
|
|
@@ -52,7 +52,7 @@ e.g amend-line puts 'hello again' # no line number modifies immediately preced
|
|
52
52
|
run "show-input"
|
53
53
|
end
|
54
54
|
|
55
|
-
alias_command(/%.?(-?\d+)?(?:\.\.(-?\d+))?/, /amend-line
|
55
|
+
alias_command(/%.?(-?\d+)?(?:\.\.(-?\d+))?/, /amend-line(?: (-?\d+)(?:\.\.(-?\d+))?)?/, "")
|
56
56
|
|
57
57
|
command "play", "Play back a string variable or a method or a file as input. Type `play --help` for more information." do |*args|
|
58
58
|
opts = Slop.parse!(args) do |opt|
|
@@ -146,8 +146,9 @@ class Pry
|
|
146
146
|
should_reload_at_top_level = opts[:n] ? false : true
|
147
147
|
|
148
148
|
elsif opts.t? || args.first.nil?
|
149
|
-
file_name =
|
150
|
-
|
149
|
+
file_name = temp_file do |f|
|
150
|
+
f.puts eval_string if !eval_string.empty?
|
151
|
+
end
|
151
152
|
line = eval_string.lines.count + 1
|
152
153
|
should_reload_locally = opts[:n] ? false : true
|
153
154
|
else
|
@@ -198,7 +198,7 @@ Shows local and instance variables by default.
|
|
198
198
|
if !v.first.empty?
|
199
199
|
text << "#{k}:\n--\n"
|
200
200
|
filtered_list = v.first.grep options[:grep]
|
201
|
-
text << text().send(ls_color_map[k], (filtered_list.join(
|
201
|
+
text << text().send(ls_color_map[k], (filtered_list.join(Pry.config.ls.separator)))
|
202
202
|
text << "\n\n"
|
203
203
|
end
|
204
204
|
end
|
@@ -212,7 +212,7 @@ Shows local and instance variables by default.
|
|
212
212
|
# plain
|
213
213
|
else
|
214
214
|
list = info.sort_by { |k, v| v.last }.map { |k, v| [k, [v.first.grep(options[:grep])], v.last] }
|
215
|
-
list = list.each { |k, v| text << text().send(ls_color_map[k], v.first.join(
|
215
|
+
list = list.each { |k, v| text << text().send(ls_color_map[k], v.first.join(Pry.config.ls.separator)); text << Pry.config.ls.separator }
|
216
216
|
|
217
217
|
if !options[:f]
|
218
218
|
stagger_output(text)
|
@@ -39,6 +39,16 @@ class Pry
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
+
# Open a temp file and yield it to the block, closing it after
|
43
|
+
# @return [String] The path of the temp file
|
44
|
+
def temp_file
|
45
|
+
file = Tempfile.new(["tmp", ".rb"])
|
46
|
+
yield file
|
47
|
+
file.path
|
48
|
+
ensure
|
49
|
+
file.close
|
50
|
+
end
|
51
|
+
|
42
52
|
########### RBX HELPERS #############
|
43
53
|
def is_core_rbx_path?(path)
|
44
54
|
rbx? &&
|
data/lib/pry/pry_class.rb
CHANGED
@@ -106,11 +106,13 @@ class Pry
|
|
106
106
|
elsif TOPLEVEL_BINDING.eval('self') == obj
|
107
107
|
# special case for 'main' object :)
|
108
108
|
obj.inspect
|
109
|
+
elsif [String, Numeric, Symbol, nil, true, false].any? { |v| v === obj } && obj.inspect.length <= max_length
|
110
|
+
obj.inspect
|
109
111
|
else
|
110
|
-
"#<#{obj.class}
|
112
|
+
"#<#{obj.class}>"#:%x>"# % (obj.object_id << 1)
|
111
113
|
end
|
112
114
|
|
113
|
-
rescue
|
115
|
+
rescue RescuableException
|
114
116
|
"unknown"
|
115
117
|
end
|
116
118
|
|
@@ -210,6 +212,8 @@ class Pry
|
|
210
212
|
Pry.config.ls.method_color = :green
|
211
213
|
Pry.config.ls.instance_method_color = :bright_green
|
212
214
|
Pry.config.ls.constant_color = :yellow
|
215
|
+
|
216
|
+
Pry.config.ls.separator = " "
|
213
217
|
end
|
214
218
|
|
215
219
|
# Set all the configurable options back to their default values
|
data/lib/pry/version.rb
CHANGED
data/pry.gemspec
CHANGED
@@ -2,20 +2,20 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{pry}
|
5
|
-
s.version = "0.9.
|
5
|
+
s.version = "0.9.4"
|
6
6
|
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
8
|
-
s.authors = [
|
9
|
-
s.date = %q{2011-09-
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["John Mair (banisterfiend)"]
|
9
|
+
s.date = %q{2011-09-08}
|
10
10
|
s.description = %q{An IRB alternative and runtime developer console}
|
11
11
|
s.email = %q{jrmair@gmail.com}
|
12
|
-
s.executables = [
|
13
|
-
s.files = [
|
12
|
+
s.executables = ["pry"]
|
13
|
+
s.files = [".document", ".gemtest", ".gitignore", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/command_context.rb", "lib/pry/command_processor.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/basic.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/documentation.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/input.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/shell.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/extended_commands/user_command_api.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/version.rb", "pry.gemspec", "test/helper.rb", "test/test_command_helpers.rb", "test/test_command_processor.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_shell.rb", "test/test_history_array.rb", "test/test_pry.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/testrc", "wiki/Customizing-pry.md", "wiki/Home.md"]
|
14
14
|
s.homepage = %q{http://pry.github.com}
|
15
|
-
s.require_paths = [
|
16
|
-
s.rubygems_version = %q{1.
|
15
|
+
s.require_paths = ["lib"]
|
16
|
+
s.rubygems_version = %q{1.7.2}
|
17
17
|
s.summary = %q{An IRB alternative and runtime developer console}
|
18
|
-
s.test_files = [
|
18
|
+
s.test_files = ["test/helper.rb", "test/test_command_helpers.rb", "test/test_command_processor.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_shell.rb", "test/test_history_array.rb", "test/test_pry.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/testrc"]
|
19
19
|
|
20
20
|
if s.respond_to? :specification_version then
|
21
21
|
s.specification_version = 3
|
@@ -24,14 +24,14 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_runtime_dependency(%q<ruby_parser>, [">= 2.0.5"])
|
25
25
|
s.add_runtime_dependency(%q<coderay>, [">= 0.9.8"])
|
26
26
|
s.add_runtime_dependency(%q<slop>, ["~> 2.1.0"])
|
27
|
-
s.add_runtime_dependency(%q<method_source>, [">= 0.6.
|
27
|
+
s.add_runtime_dependency(%q<method_source>, [">= 0.6.5"])
|
28
28
|
s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
|
29
29
|
s.add_development_dependency(%q<open4>, ["~> 1.0.1"])
|
30
30
|
else
|
31
31
|
s.add_dependency(%q<ruby_parser>, [">= 2.0.5"])
|
32
32
|
s.add_dependency(%q<coderay>, [">= 0.9.8"])
|
33
33
|
s.add_dependency(%q<slop>, ["~> 2.1.0"])
|
34
|
-
s.add_dependency(%q<method_source>, [">= 0.6.
|
34
|
+
s.add_dependency(%q<method_source>, [">= 0.6.5"])
|
35
35
|
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
36
36
|
s.add_dependency(%q<open4>, ["~> 1.0.1"])
|
37
37
|
end
|
@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
|
|
39
39
|
s.add_dependency(%q<ruby_parser>, [">= 2.0.5"])
|
40
40
|
s.add_dependency(%q<coderay>, [">= 0.9.8"])
|
41
41
|
s.add_dependency(%q<slop>, ["~> 2.1.0"])
|
42
|
-
s.add_dependency(%q<method_source>, [">= 0.6.
|
42
|
+
s.add_dependency(%q<method_source>, [">= 0.6.5"])
|
43
43
|
s.add_dependency(%q<bacon>, [">= 1.1.0"])
|
44
44
|
s.add_dependency(%q<open4>, ["~> 1.0.1"])
|
45
45
|
end
|
@@ -2,7 +2,7 @@ require 'helper'
|
|
2
2
|
|
3
3
|
describe "Pry::DefaultCommands::Input" do
|
4
4
|
|
5
|
-
describe "amend-line
|
5
|
+
describe "amend-line" do
|
6
6
|
it 'should correctly amend the last line of input when no line number specified ' do
|
7
7
|
str_output = StringIO.new
|
8
8
|
redirect_pry_io(InputTester.new("def hello", "puts :bing", "amend-line puts :blah", "show-input", "exit-all"), str_output) do
|
@@ -104,7 +104,7 @@ describe "Pry::DefaultCommands::Input" do
|
|
104
104
|
|
105
105
|
it 'should correctly amend the specified range of lines, using negative numbers in range' do
|
106
106
|
str_output = StringIO.new
|
107
|
-
redirect_pry_io(InputTester.new("def hello", "puts :bing", "puts :bang", "puts :boast", "puts :heart", "amend-line
|
107
|
+
redirect_pry_io(InputTester.new("def hello", "puts :bing", "puts :bang", "puts :boast", "puts :heart", "amend-line 2..-2 puts :bong", "show-input", "exit-all"), str_output) do
|
108
108
|
pry
|
109
109
|
end
|
110
110
|
str_output.string.should =~ /\d+: def hello\n\d+: puts :bong\n\d+: puts :heart/
|
data/test/test_pry.rb
CHANGED
@@ -1131,23 +1131,37 @@ describe Pry do
|
|
1131
1131
|
o = Object.new
|
1132
1132
|
def o.inspect; "a" * VC_MAX_LENGTH; end
|
1133
1133
|
|
1134
|
-
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /
|
1134
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
|
1135
1135
|
end
|
1136
1136
|
end
|
1137
1137
|
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1138
|
+
describe "given the 'main' object" do
|
1139
|
+
it "returns the #inspect of main (special case)" do
|
1140
|
+
o = TOPLEVEL_BINDING.eval('self')
|
1141
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should == o.inspect
|
1142
|
+
end
|
1143
|
+
end
|
1144
|
+
|
1145
|
+
describe "given the a Numeric, String or Symbol object" do
|
1146
|
+
[1, 2.0, -5, "hello", :test].each do |o|
|
1147
|
+
it "returns the #inspect of the special-cased immediate object: #{o}" do
|
1148
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should == o.inspect
|
1149
|
+
end
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
# only testing with String here :)
|
1153
|
+
it "returns #<> format of the special-cased immediate object if #inspect is longer than maximum" do
|
1154
|
+
o = "o" * (VC_MAX_LENGTH + 1)
|
1155
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<String/
|
1156
|
+
end
|
1157
|
+
end
|
1144
1158
|
|
1145
1159
|
describe "given an object with an #inspect string as long as the maximum specified" do
|
1146
1160
|
it "returns the #<> format of the object (never use inspect)" do
|
1147
1161
|
o = Object.new
|
1148
1162
|
def o.inspect; "a" * VC_MAX_LENGTH; end
|
1149
1163
|
|
1150
|
-
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /
|
1164
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
|
1151
1165
|
end
|
1152
1166
|
end
|
1153
1167
|
|
@@ -1158,7 +1172,7 @@ describe Pry do
|
|
1158
1172
|
o = Object.new
|
1159
1173
|
def o.inspect; "a" * (VC_MAX_LENGTH + 1); end
|
1160
1174
|
|
1161
|
-
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /
|
1175
|
+
Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
|
1162
1176
|
end
|
1163
1177
|
end
|
1164
1178
|
|
@@ -1167,8 +1181,8 @@ describe Pry do
|
|
1167
1181
|
it "returns a string of the #<class name:object idish> format" do
|
1168
1182
|
c, m = Class.new, Module.new
|
1169
1183
|
|
1170
|
-
Pry.view_clip(c, VC_MAX_LENGTH).should =~ /
|
1171
|
-
Pry.view_clip(m, VC_MAX_LENGTH).should =~ /
|
1184
|
+
Pry.view_clip(c, VC_MAX_LENGTH).should =~ /#<Class/
|
1185
|
+
Pry.view_clip(m, VC_MAX_LENGTH).should =~ /#<Module/
|
1172
1186
|
end
|
1173
1187
|
end
|
1174
1188
|
|
@@ -1180,8 +1194,8 @@ describe Pry do
|
|
1180
1194
|
def c.name; "a" * (VC_MAX_LENGTH + 1); end
|
1181
1195
|
def m.name; "a" * (VC_MAX_LENGTH + 1); end
|
1182
1196
|
|
1183
|
-
Pry.view_clip(c, VC_MAX_LENGTH).should =~ /
|
1184
|
-
Pry.view_clip(m, VC_MAX_LENGTH).should =~ /
|
1197
|
+
Pry.view_clip(c, VC_MAX_LENGTH).should =~ /#<Class/
|
1198
|
+
Pry.view_clip(m, VC_MAX_LENGTH).should =~ /#<Module/
|
1185
1199
|
end
|
1186
1200
|
end
|
1187
1201
|
|
data/test/test_pry_history.rb
CHANGED
@@ -5,7 +5,8 @@ describe Pry do
|
|
5
5
|
|
6
6
|
before do
|
7
7
|
Pry.history.clear
|
8
|
-
@
|
8
|
+
@file = Tempfile.new(["tmp", ".pry_history"])
|
9
|
+
@hist = @file.path
|
9
10
|
File.open(@hist, 'w') {|f| f << "1\n2\n3\n" }
|
10
11
|
@old_hist = Pry.config.history.file
|
11
12
|
Pry.config.history.file = @hist
|
@@ -13,7 +14,8 @@ describe Pry do
|
|
13
14
|
end
|
14
15
|
|
15
16
|
after do
|
16
|
-
|
17
|
+
@file.close
|
18
|
+
File.unlink(@hist)
|
17
19
|
Pry.config.history.file = @old_hist
|
18
20
|
end
|
19
21
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4pre6
|
5
5
|
prerelease: 5
|
6
6
|
platform: i386-mswin32
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-09-08 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby_parser
|
16
|
-
requirement: &
|
16
|
+
requirement: &70110119591260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70110119591260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: coderay
|
27
|
-
requirement: &
|
27
|
+
requirement: &70110119588300 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.8
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70110119588300
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: slop
|
38
|
-
requirement: &
|
38
|
+
requirement: &70110119585800 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70110119585800
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: method_source
|
49
|
-
requirement: &
|
49
|
+
requirement: &70110119585180 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.6.5
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70110119585180
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bacon
|
60
|
-
requirement: &
|
60
|
+
requirement: &70110119584320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.1.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70110119584320
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: open4
|
71
|
-
requirement: &
|
71
|
+
requirement: &70110119583520 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.1
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70110119583520
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: win32console
|
82
|
-
requirement: &
|
82
|
+
requirement: &70110119582860 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: 1.3.0
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70110119582860
|
91
91
|
description: An IRB alternative and runtime developer console
|
92
92
|
email: jrmair@gmail.com
|
93
93
|
executables:
|