Class: RDoc::ERBIO
- Inherits:
-
ERB
- Object
- ERB
- RDoc::ERBIO
- Defined in:
- lib/rdoc/erbio.rb
Overview
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.
Instance Method Summary collapse
-
#initialize(str, trim_mode: nil, eoutvar: 'io') ⇒ ERBIO
constructor
Defaults
eoutvar
to ‘io’, otherwise is identical to ERB’s initialize. -
#set_eoutvar(compiler, io_variable) ⇒ Object
Instructs
compiler
how to write toio_variable
.
Constructor Details
#initialize(str, trim_mode: nil, eoutvar: 'io') ⇒ ERBIO
Defaults eoutvar
to ‘io’, otherwise is identical to ERB’s initialize
23 24 25 |
# File 'lib/rdoc/erbio.rb', line 23 def initialize str, trim_mode: nil, eoutvar: 'io' super(str, trim_mode: trim_mode, eoutvar: eoutvar) end |
Instance Method Details
#set_eoutvar(compiler, io_variable) ⇒ Object
Instructs compiler
how to write to io_variable
30 31 32 33 34 35 |
# 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 |