pry 0.9.11.2-i386-mswin32 → 0.9.11.3-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 +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: i386-mswin32
|
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
|
@@ -349,6 +349,7 @@ files:
|
|
349
349
|
- spec/pry_history_spec.rb
|
350
350
|
- spec/pry_output_spec.rb
|
351
351
|
- spec/pry_spec.rb
|
352
|
+
- spec/run_command_spec.rb
|
352
353
|
- spec/sticky_locals_spec.rb
|
353
354
|
- spec/syntax_checking_spec.rb
|
354
355
|
- spec/wrapped_module_spec.rb
|
@@ -434,6 +435,7 @@ test_files:
|
|
434
435
|
- spec/pry_history_spec.rb
|
435
436
|
- spec/pry_output_spec.rb
|
436
437
|
- spec/pry_spec.rb
|
438
|
+
- spec/run_command_spec.rb
|
437
439
|
- spec/sticky_locals_spec.rb
|
438
440
|
- spec/syntax_checking_spec.rb
|
439
441
|
- spec/wrapped_module_spec.rb
|