D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
TemplatePage
/
Filename :
cdesc-TemplatePage.yaml
back
Copy
--- !ruby/object:RI::ClassDescription attributes: [] class_methods: - !ruby/object:RI::MethodSummary name: new comment: - !ruby/struct:SM::Flow::P body: "Cheap-n-cheerful HTML page template system. You create a template containing:" - !ruby/object:SM::Flow::LIST contents: - !ruby/struct:SM::Flow::LI label: "*" body: variable names between percent signs (<tt>%fred%</tt>) - !ruby/struct:SM::Flow::LI label: "*" body: "blocks of repeating stuff:" - !ruby/struct:SM::Flow::VERB body: " START:key\n ... stuff\n END:key\n" type: :BULLET - !ruby/struct:SM::Flow::P body: You feed the code a hash. For simple variables, the values are resolved directly from the hash. For blocks, the hash entry corresponding to <tt>key</tt> will be an array of hashes. The block will be generated once for each entry. Blocks can be nested arbitrarily deeply. - !ruby/struct:SM::Flow::P body: The template may also contain - !ruby/struct:SM::Flow::VERB body: " IF:key\n ... stuff\n ENDIF:key\n" - !ruby/struct:SM::Flow::P body: <em>stuff</em> will only be included in the output if the corresponding key is set in the value hash. - !ruby/struct:SM::Flow::P body: "Usage: Given a set of templates <tt>T1, T2,</tt> etc" - !ruby/struct:SM::Flow::VERB body: " values = { "name" => "Dave", state => "TX" }\n\n t = TemplatePage.new(T1, T2, T3)\n File.open(name, "w") {|f| t.write_html_on(f, values)}\n or\n res = ''\n t.write_html_on(res, values)\n" constants: [] full_name: TemplatePage includes: [] instance_methods: - !ruby/object:RI::MethodSummary name: expand_line - !ruby/object:RI::MethodSummary name: substitute_into - !ruby/object:RI::MethodSummary name: write_html_on name: TemplatePage superclass: Object