> If I was going to write this myself I'd try something like:> > def h1> print "<H1>"> yield> print "</H1>"> end> > h1 do> print "I'm a heading!"> end> > => <H1>I'm a heading!</h1>> > > By yielding to the block you allow yourself to nest other tags> inside of tags which is something you often have to do when writing> html.> > Good luck.
That's nice. I suggest that if the OP wants to use your suggested method, maybe do it this w
ay:
class MyHtml
def self.generate(&block)
"<html> \n" +
self.new.instance_eval(&block) +
"\n</html> "
end
def body
"<body> \n#{ yield }\n</body>"
end
def h1
"<h1> #{ yield }</h1>"
end
end
MyHtml.generate do
body do
h1 { "This heading was generated by pure ruby" }
end
end
Or just use builder or something :P (though it seems like that just might not be allowed for
the OP, as I suspect whoever is assigning this work expects a real html generator implement
ation.
- Ehsan
_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
http://clk.atdmt.com/GBL/go/177141665/direct/01/