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
- #write(*arguments, style: nil) ⇒ Object
Constructor Details
#initialize(output) ⇒ Text
Returns a new instance of Text.
27 28 29 30 |
# File 'lib/console/terminal/text.rb', line 27 def initialize(output) @output = output @styles = {reset: self.reset} end |
Instance Method Details
#[](key) ⇒ Object
32 33 34 |
# File 'lib/console/terminal/text.rb', line 32 def [] key @styles[key] end |
#[]=(key, value) ⇒ Object
36 37 38 |
# File 'lib/console/terminal/text.rb', line 36 def []= key, value @styles[key] = value end |
#colors? ⇒ Boolean
40 41 42 |
# File 'lib/console/terminal/text.rb', line 40 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.
74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/console/terminal/text.rb', line 74 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.
88 89 90 91 |
# File 'lib/console/terminal/text.rb', line 88 def print_line(*arguments) print(*arguments) @output.puts(self.reset) end |
#puts(*arguments, style: nil) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/console/terminal/text.rb', line 60 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
47 48 |
# File 'lib/console/terminal/text.rb', line 47 def reset end |
#style(foreground, background = nil, *attributes) ⇒ Object
44 45 |
# File 'lib/console/terminal/text.rb', line 44 def style(foreground, background = nil, *attributes) end |
#write(*arguments, style: nil) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/console/terminal/text.rb', line 50 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 |