--- !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 (%fred%)
- !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 key 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: stuff 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 T1, T2, 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