> -----Original Message----- > From: Joseph McDonald [mailto:joe / vpop.net] > Sent: Thursday, December 14, 2000 03:40 PM > To: ruby-talk ML > Subject: [ruby-talk:7263] more on the template system > > > > Here is a rough outline of what I am thinking of: > > snippet1 = <<'EOF' > def output > puts "I am snippet1 var is: #{var}" > puts var2.inspect > puts "joe" > end > EOF > > snippet2 = <<'EOF' > def output > puts "I am snippet2 var is: #{var}" > puts var2.inspect > end > EOF I think you need to replace this with ##### snippet1 = <<'EOF' class Jots def output puts "I am snippet1 var is: #{var}" puts var2.inspect puts "joe" end end EOF snippet2 = <<'EOF' class Jots def output puts "I am snippet2 var is: #{var}" puts var2.inspect end end EOF #### I am also not quite sure if not better served with a singlteon construction t1 = Jots.new def t1.output puts "I am snippet1 var is: #{var}" puts var2.inspect puts "joe" end You can automated this if you really want too along the line .. (you can also automate adding new ``Snippets'') class Jots ## avoid name pollotion module Snippet1 def output puts "I am snippet1 var is: #{var}" puts var2.inspect puts "joe" end end module Snippet2 def output puts "I am snippet2 var is: #{var}" puts var2.inspect end end def Jots.with_output(s) t = Jots.new case s when "Snippet1" t.extend(Jots::Snippet1) when "Snippet2" t.extend(Jots::Snippet2) else # do nothing end end end