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 |