> -----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