pry 0.11.0.pre2 → 0.11.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -4
- data/README.md +4 -5
- data/lib/pry.rb +1 -2
- data/lib/pry/code.rb +1 -1
- data/lib/pry/color_printer.rb +9 -3
- data/lib/pry/commands/edit.rb +1 -1
- data/lib/pry/commands/ls.rb +3 -1
- data/lib/pry/commands/ls/constants.rb +12 -1
- data/lib/pry/commands/whereami.rb +1 -0
- data/lib/pry/config.rb +1 -1
- data/lib/pry/config/behavior.rb +6 -5
- data/lib/pry/config/default.rb +2 -2
- data/lib/pry/config/memoization.rb +44 -0
- data/lib/pry/core_extensions.rb +12 -2
- data/lib/pry/forwardable.rb +23 -0
- data/lib/pry/helpers/text.rb +3 -2
- data/lib/pry/input_completer.rb +31 -13
- data/lib/pry/last_exception.rb +2 -2
- data/lib/pry/method.rb +2 -2
- data/lib/pry/output.rb +2 -2
- data/lib/pry/pry_class.rb +1 -1
- data/lib/pry/repl.rb +1 -3
- data/lib/pry/slop.rb +1 -1
- data/lib/pry/test/helper.rb +1 -1
- data/lib/pry/version.rb +1 -1
- data/lib/pry/wrapped_module.rb +2 -2
- data/lib/pry/wrapped_module/candidate.rb +5 -9
- metadata +7 -6
- data/lib/pry/config/lazy.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f20330774f19c00e3a45550490cc68ad1a0892d
|
4
|
+
data.tar.gz: 4576abab2169c70a2b7a156a69773e6ca5412af0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 692d6918bd3b8e775eafdb453b9d0103385887b6d6e1c884ad8e17f0da5b51cd90d02a9b03fc1cecfcbdc80503207f9d2c7dee8b813db1e6845ca33cc8de7625
|
7
|
+
data.tar.gz: c1599009f2077755538bb189b6a5bd47baf28611efc612b5039411a10042f9995dad3d5c3dfb48715e8c244781e892377560005e75bb174ab2c5316fba8839f2
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
### HEAD
|
2
|
-
|
3
|
-
* Add
|
4
|
-
*
|
2
|
+
|
3
|
+
* Add alias 'whereami[?!]+' for 'whereami' command. ([#1597](https://github.com/pry/pry/pull/1597))
|
4
|
+
* Improve Ruby 2.4 support ([#1611](https://github.com/pry/pry/pull/1611)):
|
5
|
+
* Deprecated constants are hidden from `ls` output by default, use the `-d` switch to see them.
|
6
|
+
* Fix warnings that originate in Pry while using the repl.
|
7
|
+
* Improve completion speed in large applications. ([#1588](https://github.com/pry/pry/pull/1588))
|
8
|
+
* Pry::ColorPrinter.pp: add `newline` argument and pass it on to PP. ([#1603](https://github.com/pry/pry/pull/1603))
|
9
|
+
* Use `less` or system pager pager on MS Windows if it is available. ([#1512](https://github.com/pry/pry/pull/1512))
|
10
|
+
* Add `Pry.configure` as an alternative to the current way of changing configuration options in `.pryrc` files. ([#1502](https://github.com/pry/pry/pull/1502))
|
11
|
+
* Add `Pry::Config::Behavior#eager_load!` to add a possible workaround for issues like ([#1501](https://github.com/pry/pry/issues/1501))
|
5
12
|
* Remove Slop as a runtime dependency by vendoring v3.4 as Pry::Slop.
|
6
13
|
People can depend on Slop v4 and Pry at the same time without running into version conflicts. ([#1497](https://github.com/pry/pry/issues/1497))
|
7
14
|
* Fix auto-indentation of code that uses a single-line rescue ([#1450](https://github.com/pry/pry/issues/1450))
|
@@ -31,7 +38,7 @@
|
|
31
38
|
* Implemented support for CDPATH for ShellCommand ([#1433](https://github.com/pry/pry/issues/1433), [#1434](https://github.com/pry/pry/issues/1434))
|
32
39
|
* `Pry::CLI.parse_options` does not start Pry anymore ([#1393](https://github.com/pry/pry/pull/1393))
|
33
40
|
* The gem uses CPU-less platforms for Windows now ([#1410](https://github.com/pry/pry/pull/1410))
|
34
|
-
* Add `Pry::Config::
|
41
|
+
* Add `Pry::Config::Memoization` to make it easier to implement your own `Pry::Config::Default` class.([#1503](https://github.com/pry/pry/pull/1503/))
|
35
42
|
* Lazy load the config defaults for `Pry.config.history` and `Pry.config.gist`.
|
36
43
|
|
37
44
|
### 0.10.1
|
data/README.md
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
[](https://travis-ci.org/pry/pry)
|
2
2
|
[](https://codeclimate.com/github/pry/pry)
|
3
3
|
[](http://inch-ci.org/github/pry/pry)
|
4
|
-
|
5
|
-
|
6
|
-

|
4
|
+
<br><br>
|
5
|
+

|
7
6
|
|
8
7
|
© John Mair ([banisterfiend](https://twitter.com/banisterfiend)) 2016<br>
|
9
8
|
|
@@ -15,13 +14,13 @@
|
|
15
14
|
[Atomic Object](https://atomicobject.com/)<br/>
|
16
15
|
[Hashrocket](https://hashrocket.com/)<br/>
|
17
16
|
[Intridea](http://www.intridea.com)<br/>
|
18
|
-
[Gaslight](https://teamgaslight.com
|
17
|
+
[Gaslight](https://teamgaslight.com)<br/>
|
19
18
|
|
20
19
|
**Other Resources**
|
21
20
|
|
22
21
|
[Skip to the website (recommended)](http://pryrepl.org/) <br />
|
23
22
|
[Skip to the wiki](https://github.com/pry/pry/wiki)
|
24
|
-
|
23
|
+
|
25
24
|
|
26
25
|
Pry is a powerful alternative to the standard IRB shell for Ruby. It is
|
27
26
|
written from scratch to provide a number of advanced features,
|
data/lib/pry.rb
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
# MIT License
|
3
3
|
#
|
4
4
|
require 'pp'
|
5
|
-
|
5
|
+
require 'pry/forwardable'
|
6
6
|
require 'pry/input_lock'
|
7
7
|
require 'pry/exceptions'
|
8
8
|
require 'pry/helpers/base_helpers'
|
9
9
|
require 'pry/hooks'
|
10
|
-
require 'forwardable'
|
11
10
|
|
12
11
|
class Pry
|
13
12
|
# The default hooks - display messages when beginning and ending Pry sessions.
|
data/lib/pry/code.rb
CHANGED
data/lib/pry/color_printer.rb
CHANGED
@@ -12,8 +12,8 @@ class Pry
|
|
12
12
|
|
13
13
|
CodeRay::Encoders::Terminal::TOKEN_COLORS[:comment][:self] = "\e[1;34m"
|
14
14
|
|
15
|
-
def self.pp(obj, out = $>, width = 79)
|
16
|
-
q = ColorPrinter.new(out, width)
|
15
|
+
def self.pp(obj, out = $>, width = 79, newline = "\n")
|
16
|
+
q = ColorPrinter.new(out, width, newline)
|
17
17
|
q.guard_inspect_key { q.pp obj }
|
18
18
|
q.flush
|
19
19
|
out << "\n"
|
@@ -31,7 +31,13 @@ class Pry
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def pp(obj)
|
34
|
-
|
34
|
+
if String === obj
|
35
|
+
# Avoid calling Ruby 2.4+ String#pretty_print that prints multiline
|
36
|
+
# Strings prettier
|
37
|
+
Object.instance_method(:pretty_print).bind(obj).call
|
38
|
+
else
|
39
|
+
super
|
40
|
+
end
|
35
41
|
rescue => e
|
36
42
|
raise if e.is_a? Pry::Pager::StopPaging
|
37
43
|
begin
|
data/lib/pry/commands/edit.rb
CHANGED
data/lib/pry/commands/ls.rb
CHANGED
@@ -61,7 +61,9 @@ class Pry
|
|
61
61
|
" " * 32 << "Constants that are pending autoload? are also shown (in yellow)"
|
62
62
|
opt.on :i, :ivars, "Show instance variables (in blue) and class variables (in bright blue)"
|
63
63
|
opt.on :G, :grep, "Filter output by regular expression", :argument => true
|
64
|
-
|
64
|
+
if Object.respond_to?(:deprecate_constant)
|
65
|
+
opt.on :d, :dconstants, "Show deprecated constants"
|
66
|
+
end
|
65
67
|
if jruby?
|
66
68
|
opt.on :J, "all-java", "Show all the aliases for methods from java (default is to show only prettiest)"
|
67
69
|
end
|
@@ -3,15 +3,17 @@ require 'pry/commands/ls/interrogatable'
|
|
3
3
|
class Pry
|
4
4
|
class Command::Ls < Pry::ClassCommand
|
5
5
|
class Constants < Pry::Command::Ls::Formatter
|
6
|
+
DEPRECATED_CONSTANTS = [:Fixnum, :Bignum, :TimeoutError, :NIL, :FALSE, :TRUE]
|
7
|
+
DEPRECATED_CONSTANTS << :JavaPackageModuleTemplate if Pry::Helpers::BaseHelpers.jruby?
|
6
8
|
include Pry::Command::Ls::Interrogatable
|
7
9
|
|
8
|
-
|
9
10
|
def initialize(interrogatee, no_user_opts, opts, _pry_)
|
10
11
|
super(_pry_)
|
11
12
|
@interrogatee = interrogatee
|
12
13
|
@no_user_opts = no_user_opts
|
13
14
|
@default_switch = opts[:constants]
|
14
15
|
@verbose_switch = opts[:verbose]
|
16
|
+
@dconstants = opts.dconstants?
|
15
17
|
end
|
16
18
|
|
17
19
|
def correct_opts?
|
@@ -26,8 +28,17 @@ class Pry
|
|
26
28
|
|
27
29
|
private
|
28
30
|
|
31
|
+
def show_deprecated_constants?
|
32
|
+
@dconstants == true
|
33
|
+
end
|
34
|
+
|
29
35
|
def format(mod, constants)
|
30
36
|
constants.sort_by(&:downcase).map do |name|
|
37
|
+
if Object.respond_to?(:deprecate_constant) and
|
38
|
+
DEPRECATED_CONSTANTS.include?(name) and
|
39
|
+
!show_deprecated_constants?
|
40
|
+
next
|
41
|
+
end
|
31
42
|
if const = (!mod.autoload?(name) && (mod.const_get(name) || true) rescue nil)
|
32
43
|
if (const < Exception rescue false)
|
33
44
|
color(:exception_constant, name)
|
data/lib/pry/config.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative 'basic_object'
|
2
2
|
class Pry::Config < Pry::BasicObject
|
3
3
|
require_relative 'config/behavior'
|
4
|
-
require_relative 'config/
|
4
|
+
require_relative 'config/memoization'
|
5
5
|
require_relative 'config/default'
|
6
6
|
require_relative 'config/convenience'
|
7
7
|
include Pry::Config::Behavior
|
data/lib/pry/config/behavior.rb
CHANGED
@@ -141,9 +141,10 @@ module Pry::Config::Behavior
|
|
141
141
|
end
|
142
142
|
|
143
143
|
def eager_load!
|
144
|
-
|
145
|
-
|
146
|
-
self[key] =
|
144
|
+
default = @default
|
145
|
+
while default
|
146
|
+
default.memoized_methods.each {|method| self[key] = default.public_send(key)} if default.respond_to?(:memoized_methods)
|
147
|
+
default = @default.default
|
147
148
|
end
|
148
149
|
end
|
149
150
|
|
@@ -186,8 +187,8 @@ module Pry::Config::Behavior
|
|
186
187
|
end
|
187
188
|
end
|
188
189
|
|
189
|
-
def respond_to_missing?(key,
|
190
|
-
key?(key) or @default.respond_to?(key) or super(key,
|
190
|
+
def respond_to_missing?(key, include_all=false)
|
191
|
+
key?(key) or @default.respond_to?(key) or super(key, include_all)
|
191
192
|
end
|
192
193
|
|
193
194
|
private
|
data/lib/pry/config/default.rb
CHANGED
@@ -0,0 +1,44 @@
|
|
1
|
+
module Pry::Config::Memoization
|
2
|
+
MEMOIZED_METHODS = Hash.new {|h,k| h[k] = [] }
|
3
|
+
|
4
|
+
module ClassMethods
|
5
|
+
#
|
6
|
+
# Defines one or more methods who return a constant value after being
|
7
|
+
# called once.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# class Foo
|
11
|
+
# include Pry::Config::Memoization
|
12
|
+
# def_memoized({
|
13
|
+
# foo: proc {1+10},
|
14
|
+
# bar: proc{"aaa"<<"a"}
|
15
|
+
# })
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# @param [{String => Proc}] method_table
|
19
|
+
#
|
20
|
+
# @return [void]
|
21
|
+
#
|
22
|
+
def def_memoized(method_table)
|
23
|
+
method_table.each do |method_name, method|
|
24
|
+
define_method(method_name) do
|
25
|
+
method_table[method_name] = instance_eval(&method) if method_table[method_name].equal? method
|
26
|
+
method_table[method_name]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
MEMOIZED_METHODS[self] |= method_table.keys
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.included(mod)
|
34
|
+
mod.extend(ClassMethods)
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# @return [Array<Symbol>]
|
39
|
+
# Returns the names of methods that have been defined by {ClassMethods#def_memoized}.
|
40
|
+
#
|
41
|
+
def memoized_methods
|
42
|
+
MEMOIZED_METHODS[self.class]
|
43
|
+
end
|
44
|
+
end
|
data/lib/pry/core_extensions.rb
CHANGED
@@ -68,12 +68,22 @@ class Object
|
|
68
68
|
def __binding__
|
69
69
|
# If you ever feel like changing this method, be careful about variables
|
70
70
|
# that you use. They shouldn't be inserted into the binding that will
|
71
|
-
# eventually be
|
71
|
+
# eventually be returned.
|
72
72
|
|
73
73
|
# When you're cd'd into a class, methods you define should be added to it.
|
74
74
|
if is_a?(Module)
|
75
|
+
# A special case, for JRuby.
|
76
|
+
# Module.new.class_eval("binding") has different behaviour than CRuby,
|
77
|
+
# where this is not needed: class_eval("binding") vs class_eval{binding}.
|
78
|
+
# Using a block works around the difference of behaviour on JRuby.
|
79
|
+
# The scope is clear of local variabless. Don't add any.
|
80
|
+
#
|
81
|
+
# This fixes the following two spec failures, at https://travis-ci.org/pry/pry/jobs/274470002
|
82
|
+
# 1) ./spec/pry_spec.rb:360:in `block in (root)'
|
83
|
+
# 2) ./spec/pry_spec.rb:366:in `block in (root)'
|
84
|
+
return class_eval {binding} if Pry::Helpers::BaseHelpers.jruby? and self.name == nil
|
75
85
|
# class_eval sets both self and the default definee to this class.
|
76
|
-
return class_eval
|
86
|
+
return class_eval("binding")
|
77
87
|
end
|
78
88
|
|
79
89
|
unless respond_to?(:__pry__)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class Pry
|
2
|
+
module Forwardable
|
3
|
+
require 'forwardable'
|
4
|
+
include ::Forwardable
|
5
|
+
|
6
|
+
#
|
7
|
+
# Since Ruby 2.4, Forwardable will print a warning when
|
8
|
+
# calling a method that is private on a delegate, and
|
9
|
+
# in the future it could be an error: https://bugs.ruby-lang.org/issues/12782#note-3
|
10
|
+
#
|
11
|
+
# That's why we revert to a custom implementation for delegating one
|
12
|
+
# private method to another.
|
13
|
+
#
|
14
|
+
def def_private_delegators(target, *private_delegates)
|
15
|
+
private_delegates.each do |private_delegate|
|
16
|
+
define_method(private_delegate) do |*a, &b|
|
17
|
+
instance_variable_get(target).__send__(private_delegate, *a, &b)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
class_eval { private(*private_delegates) }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/pry/helpers/text.rb
CHANGED
@@ -18,11 +18,11 @@ class Pry
|
|
18
18
|
|
19
19
|
COLORS.each_pair do |color, value|
|
20
20
|
define_method color do |text|
|
21
|
-
"\
|
21
|
+
"\033[0;#{30+value}m#{text}\033[0m"
|
22
22
|
end
|
23
23
|
|
24
24
|
define_method "bright_#{color}" do |text|
|
25
|
-
"\
|
25
|
+
"\033[1;#{30+value}m#{text}\033[0m"
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -98,3 +98,4 @@ class Pry
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
101
|
+
|
data/lib/pry/input_completer.rb
CHANGED
@@ -167,26 +167,18 @@ class Pry::InputCompleter
|
|
167
167
|
end
|
168
168
|
else
|
169
169
|
# func1.func2
|
170
|
-
candidates =
|
170
|
+
candidates = Set.new
|
171
|
+
to_ignore = ignored_modules
|
171
172
|
ObjectSpace.each_object(Module){|m|
|
172
|
-
|
173
|
-
name = m.name.to_s
|
174
|
-
rescue Pry::RescuableException
|
175
|
-
name = ""
|
176
|
-
end
|
177
|
-
next if name != "IRB::Context" and
|
178
|
-
/^(IRB|SLex|RubyLex|RubyToken)/ =~ name
|
179
|
-
|
173
|
+
next if (to_ignore.include?(m) rescue true)
|
180
174
|
# jruby doesn't always provide #instance_methods() on each
|
181
175
|
# object.
|
182
176
|
if m.respond_to?(:instance_methods)
|
183
|
-
candidates.
|
177
|
+
candidates.merge m.instance_methods(false).collect(&:to_s)
|
184
178
|
end
|
185
179
|
}
|
186
|
-
candidates.sort!
|
187
|
-
candidates.uniq!
|
188
180
|
end
|
189
|
-
select_message(path, receiver, message, candidates)
|
181
|
+
select_message(path, receiver, message, candidates.sort)
|
190
182
|
when /^\.([^.]*)$/
|
191
183
|
# Unknown(maybe String)
|
192
184
|
receiver = ""
|
@@ -239,4 +231,30 @@ class Pry::InputCompleter
|
|
239
231
|
end
|
240
232
|
return path, input
|
241
233
|
end
|
234
|
+
|
235
|
+
def ignored_modules
|
236
|
+
# We could cache the result, but IRB is not loaded by default.
|
237
|
+
# And this is very fast anyway.
|
238
|
+
# By using this approach, we avoid Module#name calls, which are
|
239
|
+
# relatively slow when there are a lot of anonymous modules defined.
|
240
|
+
s = Set.new
|
241
|
+
|
242
|
+
scanner = lambda do |m|
|
243
|
+
next if s.include?(m) # IRB::ExtendCommandBundle::EXCB recurses.
|
244
|
+
s << m
|
245
|
+
m.constants(false).each do |c|
|
246
|
+
value = m.const_get(c)
|
247
|
+
scanner.call(value) if value.is_a?(Module)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
# FIXME: Add Pry here as well?
|
252
|
+
[:IRB, :SLex, :RubyLex, :RubyToken].each do |module_name|
|
253
|
+
next unless Object.const_defined?(module_name)
|
254
|
+
scanner.call(Object.const_get(module_name))
|
255
|
+
end
|
256
|
+
|
257
|
+
s.delete(IRB::Context) if defined?(IRB::Context)
|
258
|
+
s
|
259
|
+
end
|
242
260
|
end
|
data/lib/pry/last_exception.rb
CHANGED
data/lib/pry/method.rb
CHANGED
@@ -461,8 +461,8 @@ class Pry
|
|
461
461
|
|
462
462
|
# @param [String, Symbol] method_name
|
463
463
|
# @return [Boolean]
|
464
|
-
def respond_to?(method_name)
|
465
|
-
super or @method.respond_to?(method_name)
|
464
|
+
def respond_to?(method_name, include_all=false)
|
465
|
+
super or @method.respond_to?(method_name, include_all)
|
466
466
|
end
|
467
467
|
|
468
468
|
# Delegate any unknown calls to the wrapped method.
|
data/lib/pry/output.rb
CHANGED
@@ -35,8 +35,8 @@ class Pry::Output
|
|
35
35
|
@boxed_io.__send__(name, *args, &block)
|
36
36
|
end
|
37
37
|
|
38
|
-
def respond_to_missing?(
|
39
|
-
@boxed_io.respond_to?(
|
38
|
+
def respond_to_missing?(m, include_all=false)
|
39
|
+
@boxed_io.respond_to?(m, include_all)
|
40
40
|
end
|
41
41
|
|
42
42
|
def decolorize_maybe(str)
|
data/lib/pry/pry_class.rb
CHANGED
data/lib/pry/repl.rb
CHANGED
data/lib/pry/slop.rb
CHANGED
@@ -332,7 +332,7 @@ class Pry::Slop
|
|
332
332
|
# Override this method so we can check if an option? method exists.
|
333
333
|
#
|
334
334
|
# Returns true if this option key exists in our list of options.
|
335
|
-
def respond_to_missing?(method_name,
|
335
|
+
def respond_to_missing?(method_name, include_all=false)
|
336
336
|
options.any? { |o| o.key == method_name.to_s.chop } || super
|
337
337
|
end
|
338
338
|
|
data/lib/pry/test/helper.rb
CHANGED
data/lib/pry/version.rb
CHANGED
data/lib/pry/wrapped_module.rb
CHANGED
@@ -150,8 +150,8 @@ class Pry
|
|
150
150
|
wrapped.send(method_name, *args, &block)
|
151
151
|
end
|
152
152
|
|
153
|
-
def respond_to?(method_name)
|
154
|
-
super || wrapped.respond_to?(method_name)
|
153
|
+
def respond_to?(method_name, include_all=false)
|
154
|
+
super || wrapped.respond_to?(method_name, include_all)
|
155
155
|
end
|
156
156
|
|
157
157
|
# Retrieve the source location of a module. Return value is in same
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'pry/helpers/documentation_helpers'
|
2
|
-
require 'forwardable'
|
3
2
|
|
4
3
|
class Pry
|
5
4
|
class WrappedModule
|
@@ -10,7 +9,7 @@ class Pry
|
|
10
9
|
class Candidate
|
11
10
|
include Pry::Helpers::DocumentationHelpers
|
12
11
|
include Pry::CodeObject::Helpers
|
13
|
-
extend Forwardable
|
12
|
+
extend Pry::Forwardable
|
14
13
|
|
15
14
|
# @return [String] The file where the module definition is located.
|
16
15
|
attr_reader :file
|
@@ -22,15 +21,12 @@ class Pry
|
|
22
21
|
|
23
22
|
# Methods to delegate to associated `Pry::WrappedModule
|
24
23
|
# instance`.
|
25
|
-
private_delegates = [:lines_for_file, :method_candidates,
|
26
|
-
|
27
|
-
|
28
|
-
public_delegates = [:wrapped, :module?, :class?, :name, :nonblank_name,
|
24
|
+
private_delegates = [:lines_for_file, :method_candidates, :yard_docs?, :name]
|
25
|
+
public_delegates = [:wrapped, :module?, :class?, :nonblank_name,
|
29
26
|
:number_of_candidates]
|
30
27
|
|
31
|
-
def_delegators :@wrapper, *
|
32
|
-
|
33
|
-
public(*public_delegates)
|
28
|
+
def_delegators :@wrapper, *public_delegates
|
29
|
+
def_private_delegators :@wrapper, *private_delegates
|
34
30
|
|
35
31
|
# @raise [Pry::CommandError] If `rank` is out of bounds.
|
36
32
|
# @param [Pry::WrappedModule] wrapper The associated
|
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.11.0
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Mair (banisterfiend)
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2017-09-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: coderay
|
@@ -158,10 +158,11 @@ files:
|
|
158
158
|
- lib/pry/config/behavior.rb
|
159
159
|
- lib/pry/config/convenience.rb
|
160
160
|
- lib/pry/config/default.rb
|
161
|
-
- lib/pry/config/
|
161
|
+
- lib/pry/config/memoization.rb
|
162
162
|
- lib/pry/core_extensions.rb
|
163
163
|
- lib/pry/editor.rb
|
164
164
|
- lib/pry/exceptions.rb
|
165
|
+
- lib/pry/forwardable.rb
|
165
166
|
- lib/pry/helpers.rb
|
166
167
|
- lib/pry/helpers/base_helpers.rb
|
167
168
|
- lib/pry/helpers/command_helpers.rb
|
@@ -216,12 +217,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
217
|
version: 1.9.3
|
217
218
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
219
|
requirements:
|
219
|
-
- - "
|
220
|
+
- - ">="
|
220
221
|
- !ruby/object:Gem::Version
|
221
|
-
version:
|
222
|
+
version: '0'
|
222
223
|
requirements: []
|
223
224
|
rubyforge_project:
|
224
|
-
rubygems_version: 2.
|
225
|
+
rubygems_version: 2.6.12
|
225
226
|
signing_key:
|
226
227
|
specification_version: 4
|
227
228
|
summary: An IRB alternative and runtime developer console
|
data/lib/pry/config/lazy.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
module Pry::Config::Lazy
|
2
|
-
LAZY_KEYS = Hash.new {|h,k| h[k] = [] }
|
3
|
-
|
4
|
-
module ClassMethods
|
5
|
-
def lazy_implement(method_name_to_func)
|
6
|
-
method_name_to_func.each do |method_name, func|
|
7
|
-
define_method(method_name) do
|
8
|
-
if method_name_to_func[method_name].equal?(func)
|
9
|
-
method_name_to_func[method_name] = instance_eval(&func)
|
10
|
-
end
|
11
|
-
method_name_to_func[method_name]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
LAZY_KEYS[self] |= method_name_to_func.keys
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.included(includer)
|
19
|
-
includer.extend(ClassMethods)
|
20
|
-
end
|
21
|
-
|
22
|
-
def lazy_keys
|
23
|
-
LAZY_KEYS[self.class]
|
24
|
-
end
|
25
|
-
end
|