1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00

refactor Pry::Output and add #tty? method to it.

This commit is contained in:
strcmp 2015-08-22 15:11:20 +01:00
parent 4172635d00
commit 65fd1330fd

View file

@ -1,50 +1,50 @@
class Pry class Pry::Output
class Output attr_reader :_pry_
attr_reader :_pry_
def initialize(_pry_) def initialize(_pry_)
@_pry_ = _pry_ @_pry_ = _pry_
end @boxed_io = _pry_.config.output
end
def puts(*objs) def puts(*objs)
return print "\n" if objs.empty? return print "\n" if objs.empty?
objs.each do |obj|
objs.each do |obj| if ary = Array.try_convert(obj)
if ary = Array.try_convert(obj) puts(*ary)
puts(*ary)
else
print "#{obj.to_s.chomp}\n"
end
end
nil
end
def print(*objs)
objs.each do |obj|
_pry_.config.output.print decolorize_maybe(obj.to_s)
end
nil
end
alias << print
alias write print
# If _pry_.config.color is currently false, removes ansi escapes from the string.
def decolorize_maybe(str)
if _pry_.config.color
str
else else
Helpers::Text.strip_color str print "#{obj.to_s.chomp}\n"
end end
end end
nil
end
def method_missing(name, *args, &block) def print(*objs)
_pry_.config.output.__send__(name, *args, &block) objs.each do |obj|
@boxed_io.print decolorize_maybe(obj.to_s)
end end
nil
end
alias << print
alias write print
def respond_to_missing?(*a) def tty?
_pry_.config.respond_to?(*a) @boxed_io.respond_to?(:tty?) and @boxed_io.tty?
end
def method_missing(name, *args, &block)
@boxed_io.__send__(name, *args, &block)
end
def respond_to_missing?(*a)
_pry_.config.respond_to?(*a)
end
private
def decolorize_maybe(str)
if _pry_.config.color
str
else
Pry::Helpers::Text.strip_color str
end end
end end
end end