Module: StoryTeller::Terminal
- Defined in:
- lib/story_teller/terminal.rb
Overview
module Terminal
Constant Summary collapse
- MINIMUM_WORD_WRAP =
1
Class Method Summary collapse
- .columns(output = $stdout) ⇒ Object
- .default_word_wrap ⇒ Object
- .word_wrap(output = $stdout) ⇒ Object
Class Method Details
.columns(output = $stdout) ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/story_teller/terminal.rb', line 45 def columns(output = $stdout) return output.winsize[1] if output.respond_to?(:winsize) && output.tty? console = ::IO.console return console.winsize[1] if console.respond_to?(:winsize) nil rescue IOError, SystemCallError nil end |
.default_word_wrap ⇒ Object
41 42 43 |
# File 'lib/story_teller/terminal.rb', line 41 def default_word_wrap StoryTeller::Config.defaults[:default_word_wrap] end |
.word_wrap(output = $stdout) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/story_teller/terminal.rb', line 32 def word_wrap(output = $stdout) terminal_columns = columns(output) return default_word_wrap if terminal_columns.nil? || terminal_columns.to_i <= 0 [terminal_columns.to_i - 1, MINIMUM_WORD_WRAP].max.tap do |n| log.debug "word_wrap: #{n}" end end |