module Bundler::Thor::Shell::Terminal

Constants

DEFAULT_TERMINAL_WIDTH

Public Class Methods

terminal_width() click to toggle source

This code was copied from Rake, available under MIT-LICENSE Copyright © 2003, 2004 Jim Weirich

# File bundler/vendor/thor/lib/thor/shell/terminal.rb, line 9
def terminal_width
  result = if ENV["THOR_COLUMNS"]
    ENV["THOR_COLUMNS"].to_i
  else
    unix? ? dynamic_width : DEFAULT_TERMINAL_WIDTH
  end
  result < 10 ? DEFAULT_TERMINAL_WIDTH : result
rescue
  DEFAULT_TERMINAL_WIDTH
end
unix?() click to toggle source
# File bundler/vendor/thor/lib/thor/shell/terminal.rb, line 20
def unix?
  RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris)/i
end

Private Class Methods

dynamic_width() click to toggle source

Calculate the dynamic width of the terminal

# File bundler/vendor/thor/lib/thor/shell/terminal.rb, line 27
def dynamic_width
  @dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput)
end
dynamic_width_stty() click to toggle source
# File bundler/vendor/thor/lib/thor/shell/terminal.rb, line 31
def dynamic_width_stty
  `stty size 2>/dev/null`.split[1].to_i
end
dynamic_width_tput() click to toggle source
# File bundler/vendor/thor/lib/thor/shell/terminal.rb, line 35
def dynamic_width_tput
  `tput cols 2>/dev/null`.to_i
end