class IRails::OStream

IO-like object that publishes to 0MQ socket.

Attributes

sync[RW]

Public Class Methods

new(session, name) click to toggle source
# File lib/irails/ostream.rb, line 6
def initialize(session, name)
  @session, @name = session, name
end

Public Instance Methods

<<(s)
Alias for: write
close() click to toggle source
# File lib/irails/ostream.rb, line 10
def close
  @session = nil
end
flush() click to toggle source
# File lib/irails/ostream.rb, line 14
def flush
end
isatty() click to toggle source
# File lib/irails/ostream.rb, line 17
def isatty
  false
end
Also aliased as: tty?
next(*args)
Alias for: read
print(s)
Alias for: write
puts(*lines) click to toggle source
# File lib/irails/ostream.rb, line 36
def puts(*lines)
  lines = [''] if lines.empty?
  lines.each { |s| write("#{s}\n")}
  nil
end
read(*args) click to toggle source
# File lib/irails/ostream.rb, line 22
def read(*args)
  raise IOError, 'not opened for reading'
end
Also aliased as: next, readline
readline(*args)
Alias for: read
tty?()
Alias for: isatty
write(s) click to toggle source
# File lib/irails/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
Also aliased as: <<, print
writelines(lines) click to toggle source
# File lib/irails/ostream.rb, line 42
def writelines(lines)
  lines.each { |s| write(s) }
end