mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
added a Pry#run_command method
Useful when pry instance is passed to procs such as exception handlers e.g Pry.config.exception_handler = proc |output, value, _pry_| _pry_.run_command('cat --ex') end Notw that run_command also accepts a optional second parameter 'binding' that defaults to binding_stack.last when not given
This commit is contained in:
parent
7878654d42
commit
06991b221a
2 changed files with 23 additions and 0 deletions
|
@ -319,6 +319,16 @@ class Pry
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Run the specified command.
|
||||||
|
# @param [String] The command (and its params) to execute.
|
||||||
|
# @param [Binding] The binding to use..
|
||||||
|
# @example
|
||||||
|
# pry_instance.run_command("ls -m")
|
||||||
|
def run_command(val, target = binding_stack.last)
|
||||||
|
process_line(val, "", target)
|
||||||
|
Pry::CommandContext::VOID_VALUE
|
||||||
|
end
|
||||||
|
|
||||||
# Set the last result of an eval.
|
# Set the last result of an eval.
|
||||||
# This method should not need to be invoked directly.
|
# This method should not need to be invoked directly.
|
||||||
# @param [Object] result The result.
|
# @param [Object] result The result.
|
||||||
|
|
|
@ -187,6 +187,19 @@ describe Pry do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "Pry#run_command" do
|
||||||
|
it 'should run a command in a specified context' do
|
||||||
|
b = Pry.binding_for(7)
|
||||||
|
p = Pry.new(:output => StringIO.new)
|
||||||
|
p.run_command("ls -m", b)
|
||||||
|
p.output.string.should =~ /divmod/
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should run a command in the context of a session' do
|
||||||
|
mock_pry("@session_ivar = 10", "_pry_.run_command('ls')").should =~ /@session_ivar/
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "repl" do
|
describe "repl" do
|
||||||
describe "basic functionality" do
|
describe "basic functionality" do
|
||||||
it 'should set an ivar on an object and exit the repl' do
|
it 'should set an ivar on an object and exit the repl' do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue