Class: Pry::Output
Constant Summary collapse
- DEFAULT_SIZE =
Returns default terminal screen size [rows, cols].
[27, 80].freeze
Instance Attribute Summary collapse
-
#pry_instance ⇒ Object
readonly
Returns the value of attribute pry_instance.
Instance Method Summary collapse
- #decolorize_maybe(str) ⇒ Object
-
#height ⇒ Object
Return a screen height or the default if that fails.
-
#initialize(pry_instance) ⇒ Output
constructor
A new instance of Output.
- #method_missing(method_name, *args, &block) ⇒ Object
- #print(*objs) ⇒ Object (also: #<<, #write)
- #puts(*objs) ⇒ Object
- #respond_to_missing?(method_name, include_private = false) ⇒ Boolean
-
#size ⇒ Array<Integer>
A pair of [rows, columns] which gives the size of the window.
- #tty? ⇒ Boolean
-
#width ⇒ Object
Return a screen width or the default if that fails.
Constructor Details
#initialize(pry_instance) ⇒ Output
Returns a new instance of Output.
10 11 12 13 |
# File 'lib/pry/output.rb', line 10 def initialize(pry_instance) @output = pry_instance.config.output @color = pry_instance.config.color end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/pry/output.rb', line 41 def method_missing(method_name, *args, &block) if @output.respond_to?(method_name) @output.__send__(method_name, *args, &block) else super end end |
Instance Attribute Details
#pry_instance ⇒ Object (readonly)
Returns the value of attribute pry_instance.
8 9 10 |
# File 'lib/pry/output.rb', line 8 def pry_instance @pry_instance end |
Instance Method Details
#decolorize_maybe(str) ⇒ Object
53 54 55 56 57 |
# File 'lib/pry/output.rb', line 53 def decolorize_maybe(str) return str if @color Pry::Helpers::Text.strip_color(str) end |
#height ⇒ Object
Return a screen height or the default if that fails.
74 75 76 |
# File 'lib/pry/output.rb', line 74 def height size.first end |
#print(*objs) ⇒ Object Also known as: <<, write
28 29 30 31 32 33 |
# File 'lib/pry/output.rb', line 28 def print(*objs) objs.each do |obj| @output.print decolorize_maybe(obj.to_s) end nil end |
#puts(*objs) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/pry/output.rb', line 15 def puts(*objs) return print "\n" if objs.empty? objs.each do |obj| if (ary = Array.try_convert(obj)) puts(*ary) else print "#{obj.to_s.chomp}\n" end end nil end |
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
49 50 51 |
# File 'lib/pry/output.rb', line 49 def respond_to_missing?(method_name, include_private = false) @output.respond_to?(method_name, include_private) end |
#size ⇒ Array<Integer>
Returns a pair of [rows, columns] which gives the size of the window. If the window size cannot be determined, the default value.
61 62 63 64 65 66 |
# File 'lib/pry/output.rb', line 61 def size rows, cols = actual_screen_size return [rows.to_i, cols.to_i] if rows.to_i != 0 && cols.to_i != 0 DEFAULT_SIZE end |
#tty? ⇒ Boolean
37 38 39 |
# File 'lib/pry/output.rb', line 37 def tty? @output.respond_to?(:tty?) && @output.tty? end |
#width ⇒ Object
Return a screen width or the default if that fails.
69 70 71 |
# File 'lib/pry/output.rb', line 69 def width size.last end |