Class: GemInstaller::OutputObserver
- Inherits:
-
Object
- Object
- GemInstaller::OutputObserver
- Defined in:
- lib/geminstaller/output_observer.rb
Instance Attribute Summary collapse
-
#stream ⇒ Object
writeonly
Sets the attribute stream.
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize ⇒ OutputObserver
constructor
TODO: GemRunnerProxy should raise exception if listener still has any leftover output when run is invoked.
- #print(output) ⇒ Object
- #puts(output) ⇒ Object
- #register(listener) ⇒ Object
- #tty? ⇒ Boolean
- #unregister(listener) ⇒ Object
Constructor Details
#initialize ⇒ OutputObserver
TODO: GemRunnerProxy should raise exception if listener still has any leftover output when run is invoked.
5 6 7 8 |
# File 'lib/geminstaller/output_observer.rb', line 5 def initialize @stream = :stdout @listeners = [] end |
Instance Attribute Details
#stream=(value) ⇒ Object (writeonly)
Sets the attribute stream
3 4 5 |
# File 'lib/geminstaller/output_observer.rb', line 3 def stream=(value) @stream = value end |
Instance Method Details
#flush ⇒ Object
33 34 |
# File 'lib/geminstaller/output_observer.rb', line 33 def flush end |
#print(output) ⇒ Object
19 20 21 22 23 |
# File 'lib/geminstaller/output_observer.rb', line 19 def print(output) @listeners.each do |listener| listener.notify(output, @stream) end end |
#puts(output) ⇒ Object
25 26 27 |
# File 'lib/geminstaller/output_observer.rb', line 25 def puts(output) print("#{output}\n") end |
#register(listener) ⇒ Object
10 11 12 13 |
# File 'lib/geminstaller/output_observer.rb', line 10 def register(listener) listener = [listener] unless listener.is_a?(Array) @listeners += listener end |
#tty? ⇒ Boolean
29 30 31 |
# File 'lib/geminstaller/output_observer.rb', line 29 def tty? false end |
#unregister(listener) ⇒ Object
15 16 17 |
# File 'lib/geminstaller/output_observer.rb', line 15 def unregister(listener) @listeners.delete(listener) end |