class RDoc::ERBIO

A subclass of ERB that writes directly to an IO. Credit to Aaron Patterson and Masatoshi SEKI.

To use:

erbio = RDoc::ERBIO.new '<%= "hello world" %>', nil, nil

File.open 'hello.txt', 'w' do |io|
  erbio.result binding
end

Note that binding must enclose the io you wish to output on.

Public Class Methods

Defaults eoutvar to ‘io’, otherwise is identical to ERB’s initialize

Calls superclass method ERB::new
# File lib/rdoc/erbio.rb, line 23
def initialize str, trim_mode: nil, eoutvar: 'io'
  super(str, trim_mode: trim_mode, eoutvar: eoutvar)
end

Public Instance Methods

Instructs compiler how to write to io_variable

# File lib/rdoc/erbio.rb, line 30
def set_eoutvar compiler, io_variable
  compiler.put_cmd    = "#{io_variable}.write"
  compiler.insert_cmd = "#{io_variable}.write"
  compiler.pre_cmd    = []
  compiler.post_cmd   = []
end