mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
edaa1383f2
This change brings some order to how we require files. Previously, we required app files from everywhere, including pry.rb. Now we require app files only from pry.rb. External and stdlib dependencies are required at places where they're used, not globally.
32 lines
648 B
Ruby
32 lines
648 B
Ruby
require 'tempfile'
|
|
|
|
class Pry
|
|
module Testable
|
|
module Utility
|
|
#
|
|
# Creates a Tempfile then unlinks it after the block has yielded.
|
|
#
|
|
# @yieldparam [String] file
|
|
# The path of the temp file
|
|
#
|
|
# @return [void]
|
|
#
|
|
def temp_file(ext = '.rb')
|
|
file = Tempfile.open(['pry', ext])
|
|
yield file
|
|
ensure
|
|
file.close(true) if file
|
|
end
|
|
|
|
def unindent(*args)
|
|
Pry::Helpers::CommandHelpers.unindent(*args)
|
|
end
|
|
|
|
def inner_scope
|
|
catch(:inner_scope) do
|
|
yield -> { throw(:inner_scope, self) }
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|