pry 0.5.7 → 0.5.8
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 +4 -0
- data/bin/pry +14 -6
- data/lib/pry/commands.rb +17 -4
- data/lib/pry/version.rb +1 -1
- metadata +7 -7
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
22/2/2010 version 0.5.8
|
2
|
+
* Added -c (context) option to show-doc, show-methods and eval-file
|
3
|
+
* Fixed up ordering issue of -c and -r parameters to command line pry
|
4
|
+
|
1
5
|
21/2/2010 version 0.5.7
|
2
6
|
* Added pry executable, auto-loads .pryrc in user's home directory, if it
|
3
7
|
exists.
|
data/bin/pry
CHANGED
@@ -9,11 +9,11 @@ rescue LoadError
|
|
9
9
|
require 'rubygems'
|
10
10
|
require 'pry'
|
11
11
|
end
|
12
|
-
require
|
12
|
+
require 'optparse'
|
13
13
|
|
14
14
|
# defaults
|
15
15
|
options = {
|
16
|
-
:
|
16
|
+
:context_string => "TOPLEVEL_BINDING",
|
17
17
|
:loadrc => true
|
18
18
|
}
|
19
19
|
|
@@ -42,22 +42,30 @@ See: `https://github.com/banister` for more information.
|
|
42
42
|
|
43
43
|
opts.on("-c", "--context CONTEXT",
|
44
44
|
"Start the session in the specified context. Equivalent to `context.pry` in a session.") do |context|
|
45
|
-
|
45
|
+
|
46
|
+
# save the context name
|
47
|
+
options[:context_string] = context
|
46
48
|
end
|
47
49
|
|
48
50
|
opts.on_tail("-h", "--help", "This message.") do
|
49
51
|
puts opts
|
50
52
|
exit
|
51
53
|
end
|
52
|
-
end.
|
54
|
+
end.permute!
|
53
55
|
|
54
56
|
rcpath = File.expand_path("~/.pryrc")
|
55
57
|
|
56
58
|
# load ~/.pryrc, if not suppressed with -f option
|
57
59
|
load rcpath if File.exists?(rcpath) && options[:loadrc]
|
58
60
|
|
61
|
+
# create the actual context
|
62
|
+
context = Pry.binding_for(eval(options[:context_string]))
|
63
|
+
|
59
64
|
# execute line of code, if provided with -e option
|
60
|
-
|
65
|
+
if options[:code]
|
66
|
+
result = context.eval(options[:code])
|
67
|
+
puts "=> #{Pry.view(result)}"
|
68
|
+
end
|
61
69
|
|
62
70
|
# start the session
|
63
|
-
|
71
|
+
context.pry
|
data/lib/pry/commands.rb
CHANGED
@@ -237,16 +237,18 @@ Shows local and instance variables by default.
|
|
237
237
|
|
238
238
|
command "eval-file", "Eval a Ruby script. Type `eval-file --help` for more info." do |*args|
|
239
239
|
options = {}
|
240
|
+
target = target()
|
240
241
|
file_name = nil
|
241
242
|
|
242
243
|
OptionParser.new do |opts|
|
243
244
|
opts.banner = %{Usage: eval-file [OPTIONS] FILE
|
244
|
-
Eval a Ruby script at top-level or in the
|
245
|
-
e.g: eval-file -c "hello.rb"
|
245
|
+
Eval a Ruby script at top-level or in the specified context. Defaults to top-level.
|
246
|
+
e.g: eval-file -c self "hello.rb"
|
246
247
|
--
|
247
248
|
}
|
248
|
-
opts.on("-c", "--context", "Eval the script in the
|
249
|
+
opts.on("-c", "--context CONTEXT", "Eval the script in the specified context.") do |context|
|
249
250
|
options[:c] = true
|
251
|
+
target = Pry.binding_for(target.eval(context))
|
250
252
|
end
|
251
253
|
|
252
254
|
opts.on_tail("-h", "--help", "This message.") do
|
@@ -266,8 +268,9 @@ e.g: eval-file -c "hello.rb"
|
|
266
268
|
|
267
269
|
old_constants = Object.constants
|
268
270
|
if options[:c]
|
271
|
+
target_self = target.eval('self')
|
269
272
|
target.eval(File.read(file_name))
|
270
|
-
output.puts "--\nEval'd '#{file_name}' in the
|
273
|
+
output.puts "--\nEval'd '#{file_name}' in the `#{target_self}` context."
|
271
274
|
else
|
272
275
|
TOPLEVEL_BINDING.eval(File.read(file_name))
|
273
276
|
output.puts "--\nEval'd '#{file_name}' at top-level."
|
@@ -299,6 +302,7 @@ e.g: eval-file -c "hello.rb"
|
|
299
302
|
|
300
303
|
command "show-doc", "Show the comments above METH. Type `show-doc --help` for more info." do |*args|
|
301
304
|
options = {}
|
305
|
+
target = target()
|
302
306
|
meth_name = nil
|
303
307
|
|
304
308
|
OptionParser.new do |opts|
|
@@ -311,6 +315,10 @@ e.g show-doc hello_method
|
|
311
315
|
options[:M] = true
|
312
316
|
end
|
313
317
|
|
318
|
+
opts.on("-c", "--context CONTEXT", "Select object context to run under.") do |context|
|
319
|
+
target = Pry.binding_for(target.eval(context))
|
320
|
+
end
|
321
|
+
|
314
322
|
opts.on_tail("-h", "--help", "This message.") do
|
315
323
|
output.puts opts
|
316
324
|
options[:h] = true
|
@@ -348,6 +356,7 @@ e.g show-doc hello_method
|
|
348
356
|
|
349
357
|
command "show-method", "Show the source for METH. Type `show-method --help` for more info." do |*args|
|
350
358
|
options = {}
|
359
|
+
target = target()
|
351
360
|
meth_name = nil
|
352
361
|
|
353
362
|
OptionParser.new do |opts|
|
@@ -360,6 +369,10 @@ e.g: show-method hello_method
|
|
360
369
|
options[:M] = true
|
361
370
|
end
|
362
371
|
|
372
|
+
opts.on("-c", "--context CONTEXT", "Select object context to run under.") do |context|
|
373
|
+
target = Pry.binding_for(target.eval(context))
|
374
|
+
end
|
375
|
+
|
363
376
|
opts.on_tail("-h", "--help", "This message.") do
|
364
377
|
output.puts opts
|
365
378
|
options[:h] = true
|
data/lib/pry/version.rb
CHANGED
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.5.
|
4
|
+
version: 0.5.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ default_executable:
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ruby_parser
|
17
|
-
requirement: &
|
17
|
+
requirement: &16960692 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 2.0.5
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *16960692
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: method_source
|
28
|
-
requirement: &
|
28
|
+
requirement: &16905192 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *16905192
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: bacon
|
39
|
-
requirement: &
|
39
|
+
requirement: &16904916 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: 1.1.0
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *16904916
|
48
48
|
description: attach an irb-like session to any object at runtime
|
49
49
|
email: jrmair@gmail.com
|
50
50
|
executables:
|