Class: IRuby::OStream

Inherits:
Object
  • Object
show all
Defined in:
lib/iruby/ostream.rb

Overview

IO-like object that publishes to 0MQ socket.

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#syncObject

Returns the value of attribute sync.



4
5
6
# File 'lib/iruby/ostream.rb', line 4

def sync
  @sync
end

Instance Method Details

#closeObject



10
11
12
# File 'lib/iruby/ostream.rb', line 10

def close
  @session = nil
end

#closed?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/iruby/ostream.rb', line 14

def closed?
  @session.nil?
end

#flushObject



18
19
# File 'lib/iruby/ostream.rb', line 18

def flush
end

#isattyObject Also known as: tty?



21
22
23
# File 'lib/iruby/ostream.rb', line 21

def isatty
  false
end

#printf(format, *obj) ⇒ Object



39
40
41
42
# File 'lib/iruby/ostream.rb', line 39

def printf(format, *obj)
  str = build_string { |sio| sio.printf(format, *obj) }
  session_send(str)
end

#puts(*obj) ⇒ Object



44
45
46
47
# File 'lib/iruby/ostream.rb', line 44

def puts(*obj)
  str = build_string { |sio| sio.puts(*obj) }
  session_send(str)
end

#read(*args) ⇒ Object Also known as: next, readline

Raises:

  • (IOError)


26
27
28
# File 'lib/iruby/ostream.rb', line 26

def read(*args)
  raise IOError, 'not opened for reading'
end

#set_encoding(extern, intern) ⇒ Object

Called by irb



54
55
56
# File 'lib/iruby/ostream.rb', line 54

def set_encoding(extern, intern)
  extern
end

#write(*obj) ⇒ Object Also known as: <<, print



32
33
34
35
# File 'lib/iruby/ostream.rb', line 32

def write(*obj)
  str = build_string { |sio| sio.write(*obj) }
  session_send(str)
end

#writelines(lines) ⇒ Object



49
50
51
# File 'lib/iruby/ostream.rb', line 49

def writelines(lines)
  lines.each { |s| write(s) }
end