pry 0.9.4pre5-i386-mswin32 → 0.9.4pre6-i386-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|