Class: IRuby::OStream
- Inherits:
-
Object
- Object
- IRuby::OStream
- Defined in:
- lib/iruby/ostream.rb
Overview
IO-like object that publishes to 0MQ socket.
Instance Attribute Summary collapse
-
#sync ⇒ Object
Returns the value of attribute sync.
Instance Method Summary collapse
- #close ⇒ Object
- #flush ⇒ Object
-
#initialize(session, name) ⇒ OStream
constructor
A new instance of OStream.
- #isatty ⇒ Object (also: #tty?)
- #puts(*lines) ⇒ Object
- #read(*args) ⇒ Object (also: #next, #readline)
- #write(s) ⇒ Object (also: #<<, #print)
- #writelines(lines) ⇒ Object
Constructor Details
#initialize(session, name) ⇒ OStream
Returns a new instance of OStream.
6 7 8 |
# File 'lib/iruby/ostream.rb', line 6 def initialize(session, name) @session, @name = session, name end |
Instance Attribute Details
#sync ⇒ Object
Returns the value of attribute sync.
4 5 6 |
# File 'lib/iruby/ostream.rb', line 4 def sync @sync end |
Instance Method Details
#close ⇒ Object
10 11 12 |
# File 'lib/iruby/ostream.rb', line 10 def close @session = nil end |
#flush ⇒ Object
14 15 |
# File 'lib/iruby/ostream.rb', line 14 def flush end |
#isatty ⇒ Object Also known as: tty?
17 18 19 |
# File 'lib/iruby/ostream.rb', line 17 def isatty false end |
#puts(*lines) ⇒ Object
36 37 38 39 40 |
# File 'lib/iruby/ostream.rb', line 36 def puts(*lines) lines = [''] if lines.empty? lines.each { |s| write("#{s}\n")} nil end |
#read(*args) ⇒ Object Also known as: next, readline
22 23 24 |
# File 'lib/iruby/ostream.rb', line 22 def read(*args) raise IOError, 'not opened for reading' end |
#write(s) ⇒ Object Also known as: <<, print
28 29 30 31 32 |
# File 'lib/iruby/ostream.rb', line 28 def write(s) raise 'I/O operation on closed file' unless @session @session.send(:publish, :stream, name: @name, text: s.to_s) nil end |
#writelines(lines) ⇒ Object
42 43 44 |
# File 'lib/iruby/ostream.rb', line 42 def writelines(lines) lines.each { |s| write(s) } end |