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