From: Gregory Seidman Date: 2006-12-10T02:04:33+09:00 Subject: Re: Dynamically Create Singleton Method On Sat, Dec 09, 2006 at 10:10:09PM +0900, pachl wrote: } I'm not sure how to explain what I'm looking for so I will show you: } } # this works, but not quite the functionality I need } } def simulate_cgi_upload } class << cgi_file = Tempfile.new('simulate-cgi') } def content_type() 'image/jpeg' end } end } cgi_file } end } } } # this does NOT work, but has the functionality I need } # i.e.: dynamically defining content_type's return value using } # the argument from simulate_cgi_upload method. } } def simulate_cgi_upload(mime_type = 'image/jpeg') } class << cgi_file = Tempfile.new('simulate-cgi') } def content_type() mime_type end } end } cgi_file } end For what I think you're trying to do, try this: def simulate_cgi_upload(mime_type = 'image/jpeg') cgi_file = Tempfile.new('simulate-cgi') (class << cgi_file; self; end).send(:attr_accessor, :content_type) cgi_file.content_type = mime_type cgi_file end } -pachl --Greg