Class: Console::Terminal::Text
- Inherits:
 - 
      Object
      
        
- Object
 - Console::Terminal::Text
 
 
- Defined in:
 - lib/console/terminal/text.rb
 
Direct Known Subclasses
Instance Method Summary collapse
- #[](key) ⇒ Object
 - #[]=(key, value) ⇒ Object
 - #colors? ⇒ Boolean
 - 
  
    
      #initialize(output)  ⇒ Text 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Text.
 - 
  
    
      #print(*arguments)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Print out the given arguments.
 - 
  
    
      #print_line(*arguments)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Print out the arguments as per #print, followed by the reset sequence and a newline.
 - #puts(*arguments, style: nil) ⇒ Object
 - #reset ⇒ Object
 - #style(foreground, background = nil, *attributes) ⇒ Object
 - #width ⇒ Object
 - #write(*arguments, style: nil) ⇒ Object
 
Constructor Details
#initialize(output) ⇒ Text
Returns a new instance of Text.
      12 13 14 15  | 
    
      # File 'lib/console/terminal/text.rb', line 12 def initialize(output) @output = output @styles = {reset: self.reset} end  | 
  
Instance Method Details
#[](key) ⇒ Object
      17 18 19  | 
    
      # File 'lib/console/terminal/text.rb', line 17 def [] key @styles[key] end  | 
  
#[]=(key, value) ⇒ Object
      21 22 23  | 
    
      # File 'lib/console/terminal/text.rb', line 21 def []= key, value @styles[key] = value end  | 
  
#colors? ⇒ Boolean
      25 26 27  | 
    
      # File 'lib/console/terminal/text.rb', line 25 def colors? false end  | 
  
#print(*arguments) ⇒ Object
Print out the given arguments. When the argument is a symbol, look up the style and inject it into the output stream. When the argument is a proc/lambda, call it with self as the argument. When the argument is anything else, write it directly to the output.
      63 64 65 66 67 68 69 70 71 72 73 74  | 
    
      # File 'lib/console/terminal/text.rb', line 63 def print(*arguments) arguments.each do |argument| case argument when Symbol @output.write(self[argument]) when Proc argument.call(self) else @output.write(argument) end end end  | 
  
#print_line(*arguments) ⇒ Object
Print out the arguments as per #print, followed by the reset sequence and a newline.
      77 78 79 80  | 
    
      # File 'lib/console/terminal/text.rb', line 77 def print_line(*arguments) print(*arguments) @output.puts(self.reset) end  | 
  
#puts(*arguments, style: nil) ⇒ Object
      49 50 51 52 53 54 55 56 57  | 
    
      # File 'lib/console/terminal/text.rb', line 49 def puts(*arguments, style: nil) if style and prefix = self[style] @output.write(prefix) @output.puts(*arguments) @output.write(self.reset) else @output.puts(*arguments) end end  | 
  
#reset ⇒ Object
      36 37  | 
    
      # File 'lib/console/terminal/text.rb', line 36 def reset end  | 
  
#style(foreground, background = nil, *attributes) ⇒ Object
      33 34  | 
    
      # File 'lib/console/terminal/text.rb', line 33 def style(foreground, background = nil, *attributes) end  | 
  
#width ⇒ Object
      29 30 31  | 
    
      # File 'lib/console/terminal/text.rb', line 29 def width 80 end  | 
  
#write(*arguments, style: nil) ⇒ Object
      39 40 41 42 43 44 45 46 47  | 
    
      # File 'lib/console/terminal/text.rb', line 39 def write(*arguments, style: nil) if style and prefix = self[style] @output.write(prefix) @output.write(*arguments) @output.write(self.reset) else @output.write(*arguments) end end  |