Class: Doomfire::WindowSize
- Inherits:
-
Object
- Object
- Doomfire::WindowSize
- Defined in:
- lib/doomfire/window_size.rb
Instance Method Summary collapse
- #dynamic_width_stty ⇒ Object
- #dynamic_width_tput ⇒ Object
-
#dynamic_width_via_io_object ⇒ Object
rubocop:enable Lint/DuplicateMethods.
- #dynamic_width_via_system_calls ⇒ Object
- #terminal_width ⇒ Object
- #unix? ⇒ Boolean
Instance Method Details
#dynamic_width_stty ⇒ Object
41 42 43 |
# File 'lib/doomfire/window_size.rb', line 41 def dynamic_width_stty `stty size 2>/dev/null`.split[1].to_i end |
#dynamic_width_tput ⇒ Object
45 46 47 |
# File 'lib/doomfire/window_size.rb', line 45 def dynamic_width_tput `tput cols 2>/dev/null`.to_i end |
#dynamic_width_via_io_object ⇒ Object
rubocop:enable Lint/DuplicateMethods
32 33 34 35 |
# File 'lib/doomfire/window_size.rb', line 32 def dynamic_width_via_io_object _rows, columns = IO.console.winsize columns end |
#dynamic_width_via_system_calls ⇒ Object
37 38 39 |
# File 'lib/doomfire/window_size.rb', line 37 def dynamic_width_via_system_calls dynamic_width_stty.nonzero? || dynamic_width_tput end |
#terminal_width ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/doomfire/window_size.rb', line 5 def terminal_width return 80 unless unix? result = dynamic_width result < 20 ? 80 : result rescue StandardError 80 end |
#unix? ⇒ Boolean
49 50 51 |
# File 'lib/doomfire/window_size.rb', line 49 def unix? RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i end |