superclass mismatch for class Tempfile

I’ve been facing a problem when generating a model (or controller, …). I’m using rails 2.3.8 and ruby 1.8.7.
Has anybody been facing anything like this?
script/generate controller test
/usr/lib/ruby/1.8/tempfile.rb:12: superclass mismatch for class Tempfile (TypeError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in require’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in new_constants_in’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator/commands.rb:4 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require’
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in new_constants_in' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator.rb:39
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in require’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in new_constants_in’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/commands/generate.rb:2 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require’
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require’
from script/generate:3
Att.
Rodrigo Felix de Almeida
Promine Tecnologia da Informação - www.promine.com.br

Project Manager
Sun Certified Java Programmer

Rodrigo Felix wrote:

I've been facing a problem when generating a model (or controller, ...).
I'm
using rails 2.3.8 and ruby 1.8.7.
Has anybody been facing anything like this?

Do you have 2 instances of TempFile (tempfile.rb) or DelegateClass
(delegate.rb) ? Googling around seems to suggest this as a problem.

-- raja

OK, but how can I know which class is instantiating TempFile or DelegateClass? I guess it is related to some plugin, but I`m not sure.
Att.
Rodrigo Felix de Almeida
Promine Tecnologia da Informação - www.promine.com.br

Project Manager
Sun Certified Java Programmer

I found the problem. I was defining a new method content_type in the class Tempfile.
class Tempfile
def content_type
mime_type = IO.popen(“file --brief --mime #{path}”).gets unless path.blank?
mime_type
end
end

How can I make this without breaking generators? I’ve already tried the following one (exactly how it is on the tempfile.rb), but it didn’t work:
class Tempfile < DelegateClass(File)

end

Should I enclose it by module SomeModuleName … end ?
Thanks in advance.
Att.
Rodrigo Felix de Almeida
Promine Tecnologia da Informação - www.promine.com.br

Project Manager
Sun Certified Java Programmer