pry 0.9.11.2 → 0.9.11.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +12 -1
- data/lib/pry/command.rb +2 -2
- data/lib/pry/commands/edit.rb +4 -3
- data/lib/pry/commands/gist.rb +1 -0
- data/lib/pry/commands/ls.rb +2 -2
- data/lib/pry/helpers/table.rb +16 -7
- data/lib/pry/pry_class.rb +14 -4
- data/lib/pry/terminal_info.rb +5 -0
- data/lib/pry/version.rb +1 -1
- data/spec/commands/gist_spec.rb +6 -2
- data/spec/commands/ls_spec.rb +4 -4
- data/spec/helpers/table_spec.rb +3 -0
- data/spec/run_command_spec.rb +25 -0
- metadata +4 -2
data/CHANGELOG
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
17/01/2012 version 0.9.11.3
|
2
|
+
* fix Pry.run_command
|
3
|
+
* improve `ls` output
|
4
|
+
* add :requires_gem => "jist" to 'gist' command (so deps can be installed
|
5
|
+
via install-command)
|
6
|
+
* improve help for 'edit' command
|
7
|
+
|
1
8
|
16/01/2012 version 0.9.11.2
|
2
9
|
* minor bug fix for gist on windows, rescuing Jist::ClipboardError
|
3
10
|
rather than letting the scary error spill out to users and potentially
|
@@ -7,6 +14,7 @@ have them think the gist didnt post.
|
|
7
14
|
* fixed minor bug in 'gist' command where i neglected to remove
|
8
15
|
a call to a non-existent method (no_arg) which was called when
|
9
16
|
`gist` is invoked with no parameters
|
17
|
+
|
10
18
|
16/01/2013 version 0.9.11
|
11
19
|
dependency changes:
|
12
20
|
* upgrade the slop gem to version ~> 3.4
|
@@ -15,6 +23,9 @@ dependency changes:
|
|
15
23
|
new features:
|
16
24
|
* #738 basic Ruby 2.0 support
|
17
25
|
* #732 JRuby 1.7.0+ support
|
26
|
+
* new reload-code command, using it you can reload code for methods,
|
27
|
+
classes, commands, objects and so on. e.g reload-code MyCLass,
|
28
|
+
reload-code my_method, reload-code my_obj
|
18
29
|
* added bond tabcompletion, much more powerful than standard tab
|
19
30
|
completion. However, it requires a real 'readline' to work,
|
20
31
|
so will not work on standard osx setup (since it uses Editline)
|
@@ -106,7 +117,7 @@ bug fixes &c.
|
|
106
117
|
|
107
118
|
09/05/2012 version 0.9.9.6 fixes #558
|
108
119
|
* #558 has been a thorn in our side for long enough, hopefully this properly fixes it
|
109
|
-
(though im not
|
120
|
+
(though im not too confident :P)
|
110
121
|
|
111
122
|
09/05/2012 version 0.9.9.5 minor bugfix
|
112
123
|
* fixed ZeroDivisionError in correct_indentation, bug #558
|
data/lib/pry/command.rb
CHANGED
@@ -570,8 +570,8 @@ class Pry
|
|
570
570
|
slop.help
|
571
571
|
end
|
572
572
|
|
573
|
-
# Return an instance of Slop
|
574
|
-
#
|
573
|
+
# Return an instance of Slop that can parse either subcommands or the
|
574
|
+
# options that this command accepts.
|
575
575
|
def slop
|
576
576
|
Slop.parse do |opt|
|
577
577
|
opt.banner(unindent(self.class.banner))
|
data/lib/pry/commands/edit.rb
CHANGED
@@ -11,11 +11,12 @@ class Pry
|
|
11
11
|
banner <<-'BANNER'
|
12
12
|
Usage: edit [--no-reload|--reload|--patch] [--line LINE] [--temp|--ex|FILE[:LINE]|OBJECT|--in N]
|
13
13
|
|
14
|
-
Open a text editor. When no FILE is given, edits the pry input buffer.
|
15
|
-
|
14
|
+
Open a text editor. When no FILE is given, edits the pry input buffer.
|
15
|
+
When a method/module/command is given, the code is opened in an editor.
|
16
|
+
Ensure `Pry.config.editor` is set to your editor of choice.
|
16
17
|
|
17
18
|
edit sample.rb edit -p MyClass#my_method
|
18
|
-
edit sample.rb --line 105 edit
|
19
|
+
edit sample.rb --line 105 edit MyClass
|
19
20
|
edit MyClass#my_method edit --ex
|
20
21
|
edit --method edit --ex -p
|
21
22
|
|
data/lib/pry/commands/gist.rb
CHANGED
data/lib/pry/commands/ls.rb
CHANGED
@@ -325,8 +325,8 @@ class Pry
|
|
325
325
|
# Add a new section to the output. Outputs nothing if the section would be empty.
|
326
326
|
def output_section(heading, body)
|
327
327
|
return "" if body.compact.empty?
|
328
|
-
|
329
|
-
|
328
|
+
fancy_heading = text.bold(color(:heading, heading))
|
329
|
+
Pry::Helpers.tablify_or_one_line(fancy_heading, body)
|
330
330
|
end
|
331
331
|
|
332
332
|
# Color output based on config.ls.*_color
|
data/lib/pry/helpers/table.rb
CHANGED
@@ -1,14 +1,23 @@
|
|
1
1
|
class Pry
|
2
2
|
module Helpers
|
3
|
-
def self.
|
4
|
-
|
5
|
-
|
6
|
-
if TerminalInfo.
|
7
|
-
|
3
|
+
def self.tablify_or_one_line(heading, things)
|
4
|
+
plain_heading = Pry::Helpers::Text.strip_color(heading)
|
5
|
+
attempt = Table.new(things, :column_count => things.size)
|
6
|
+
if attempt.fits_on_line?(TerminalInfo.width! - plain_heading.size - 2)
|
7
|
+
"#{heading}: #{attempt}\n"
|
8
|
+
else
|
9
|
+
"#{heading}: \n#{tablify_to_screen_width(things, :indent => ' ')}\n"
|
8
10
|
end
|
11
|
+
end
|
9
12
|
|
10
|
-
|
11
|
-
|
13
|
+
def self.tablify_to_screen_width(things, options = {})
|
14
|
+
things = things.compact
|
15
|
+
if indent = options[:indent]
|
16
|
+
usable_width = TerminalInfo.width! - indent.size
|
17
|
+
tablify(things, usable_width).to_s.gsub(/^/, indent)
|
18
|
+
else
|
19
|
+
tablify(things, TerminalInfo.width!).to_s
|
20
|
+
end
|
12
21
|
end
|
13
22
|
|
14
23
|
def self.tablify(things, line_length)
|
data/lib/pry/pry_class.rb
CHANGED
@@ -239,7 +239,9 @@ class Pry
|
|
239
239
|
|
240
240
|
output = options[:show_output] ? options[:output] : StringIO.new
|
241
241
|
|
242
|
-
Pry.new(:output => output, :input => StringIO.new(command_string),
|
242
|
+
Pry.new(:output => output, :input => StringIO.new("#{command_string}\nexit-all\n"),
|
243
|
+
:commands => options[:commands],
|
244
|
+
:prompt => proc {""}, :hooks => Pry::Hooks.new).repl(options[:context])
|
243
245
|
end
|
244
246
|
|
245
247
|
def self.default_editor_for_platform
|
@@ -255,6 +257,14 @@ class Pry
|
|
255
257
|
end
|
256
258
|
end
|
257
259
|
|
260
|
+
def self.auto_resize!
|
261
|
+
trap :WINCH do
|
262
|
+
size = `stty size`.split(/\s+/).map &:to_i
|
263
|
+
Readline.set_screen_size *size
|
264
|
+
Readline.refresh_line
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
258
268
|
def self.set_config_defaults
|
259
269
|
config.input = Readline
|
260
270
|
config.output = $stdout
|
@@ -313,11 +323,11 @@ class Pry
|
|
313
323
|
config.extra_sticky_locals = {}
|
314
324
|
|
315
325
|
config.ls ||= OpenStruct.new({
|
316
|
-
:heading_color => :
|
326
|
+
:heading_color => :bright_blue,
|
317
327
|
|
318
328
|
:public_method_color => :default,
|
319
|
-
:private_method_color => :
|
320
|
-
:protected_method_color => :
|
329
|
+
:private_method_color => :blue,
|
330
|
+
:protected_method_color => :blue,
|
321
331
|
:method_missing_color => :bright_red,
|
322
332
|
|
323
333
|
:local_var_color => :yellow,
|
data/lib/pry/terminal_info.rb
CHANGED
@@ -11,6 +11,11 @@ class Pry::TerminalInfo
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
# Return a screen width or a default if it fails.
|
15
|
+
def self.width! default = 80
|
16
|
+
(screen_size || [nil, default])[1]
|
17
|
+
end
|
18
|
+
|
14
19
|
def self.actual_screen_size
|
15
20
|
[
|
16
21
|
# Some readlines also provides get_screen_size.
|
data/lib/pry/version.rb
CHANGED
data/spec/commands/gist_spec.rb
CHANGED
@@ -2,10 +2,14 @@
|
|
2
2
|
# THey need to be updated for the new 'gist' API, but im too sleepy to
|
3
3
|
# do that now.
|
4
4
|
|
5
|
+
require 'helper'
|
5
6
|
|
6
|
-
|
7
|
+
describe 'gist' do
|
8
|
+
it 'has a dependency on the jist gem' do
|
9
|
+
Pry::Command::Gist.command_options[:requires_gem].should == "jist"
|
10
|
+
end
|
11
|
+
end
|
7
12
|
|
8
|
-
# describe 'gist' do
|
9
13
|
# before do
|
10
14
|
# Pad.jist_calls = {}
|
11
15
|
# end
|
data/spec/commands/ls_spec.rb
CHANGED
@@ -37,7 +37,7 @@ describe "ls" do
|
|
37
37
|
describe "methods" do
|
38
38
|
it "should show public methods by default" do
|
39
39
|
output = pry_eval("ls Class.new{ def goo; end; public :goo }.new")
|
40
|
-
output.should =~ /methods:
|
40
|
+
output.should =~ /methods: goo/
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should not show protected/private by default" do
|
@@ -46,12 +46,12 @@ describe "ls" do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should show public methods with -p" do
|
49
|
-
pry_eval("ls -p Class.new{ def goo; end }.new").should =~ /methods:
|
49
|
+
pry_eval("ls -p Class.new{ def goo; end }.new").should =~ /methods: goo/
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should show protected/private methods with -p" do
|
53
|
-
pry_eval("ls -pM Class.new{ def goo; end; protected :goo }").should =~ /methods:
|
54
|
-
pry_eval("ls -p Class.new{ def goo; end; private :goo }.new").should =~ /methods:
|
53
|
+
pry_eval("ls -pM Class.new{ def goo; end; protected :goo }").should =~ /methods: goo/
|
54
|
+
pry_eval("ls -p Class.new{ def goo; end; private :goo }.new").should =~ /methods: goo/
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should work for objects with an overridden method method" do
|
data/spec/helpers/table_spec.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe "Pry.run_command" do
|
4
|
+
before do
|
5
|
+
o = Object.new
|
6
|
+
def o.drum
|
7
|
+
"roken is dodelijk"
|
8
|
+
end
|
9
|
+
@context = Pry.binding_for(o)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'performs a simple ls' do
|
13
|
+
@context.eval("hokey_pokey = 10")
|
14
|
+
Pry.run_command "ls", :context => @context, :output => out = StringIO.new
|
15
|
+
out.string.should =~ /hokey_pokey/
|
16
|
+
end
|
17
|
+
|
18
|
+
if !PryTestHelpers.mri18_and_no_real_source_location?
|
19
|
+
# This is a regression test as 0.9.11 broke this behaviour
|
20
|
+
it 'can perform a show-source' do
|
21
|
+
Pry.run_command "show-source drum", :context => @context, :output => out = StringIO.new
|
22
|
+
out.string.should =~ /roken is dodelijk/
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
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.11.
|
4
|
+
version: 0.9.11.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-01-
|
14
|
+
date: 2013-01-18 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: coderay
|
@@ -333,6 +333,7 @@ files:
|
|
333
333
|
- spec/pry_history_spec.rb
|
334
334
|
- spec/pry_output_spec.rb
|
335
335
|
- spec/pry_spec.rb
|
336
|
+
- spec/run_command_spec.rb
|
336
337
|
- spec/sticky_locals_spec.rb
|
337
338
|
- spec/syntax_checking_spec.rb
|
338
339
|
- spec/wrapped_module_spec.rb
|
@@ -418,6 +419,7 @@ test_files:
|
|
418
419
|
- spec/pry_history_spec.rb
|
419
420
|
- spec/pry_output_spec.rb
|
420
421
|
- spec/pry_spec.rb
|
422
|
+
- spec/run_command_spec.rb
|
421
423
|
- spec/sticky_locals_spec.rb
|
422
424
|
- spec/syntax_checking_spec.rb
|
423
425
|
- spec/wrapped_module_spec.rb
|