mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
d24cbf49ce
directly on Object (fixes #93)
47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
class Object
|
|
# Start a Pry REPL.
|
|
# This method differs from `Pry.start` in that it does not
|
|
# support an options hash. Also, when no parameter is provided, the Pry
|
|
# session will start on the implied receiver rather than on
|
|
# top-level (as in the case of `Pry.start`).
|
|
# It has two forms of invocation. In the first form no parameter
|
|
# should be provided and it will start a pry session on the
|
|
# receiver. In the second form it should be invoked without an
|
|
# explicit receiver and one parameter; this will start a Pry
|
|
# session on the parameter.
|
|
# @param [Object, Binding] target The receiver of the Pry session.
|
|
# @example First form
|
|
# "dummy".pry
|
|
# @example Second form
|
|
# pry "dummy"
|
|
# @example Start a Pry session on current self (whatever that is)
|
|
# pry
|
|
def pry(target=self)
|
|
Pry.start(target)
|
|
end
|
|
|
|
# Return a binding object for the receiver.
|
|
def __binding__
|
|
if is_a?(Module)
|
|
return class_eval "binding"
|
|
end
|
|
|
|
unless respond_to? :__binding_impl__
|
|
begin
|
|
instance_eval %{
|
|
def __binding_impl__
|
|
binding
|
|
end
|
|
}
|
|
rescue TypeError
|
|
self.class.class_eval %{
|
|
def __binding_impl__
|
|
binding
|
|
end
|
|
}
|
|
end
|
|
end
|
|
|
|
__binding_impl__
|
|
end
|
|
end
|