# Superclass mismatch for class Tempfile

**URL:** <https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423>\
**Category:** Rails\
**Created:** [September 23, 2010, 5:24am UTC](https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423 "2010-09-23T05:24:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bartolome](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bcef8e/32.png) [@bartolome](https://www.ruby-forum.com/u/bartolome)\
**Post date:** [September 23, 2010, 5:24am UTC](https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423/1 "2010-09-23T05:24:39Z")

</div>

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 F. de Almeida\*  
Promine Tecnologia da InformaÃ§Ã£o - www.promine.com.br  
Project Manager  
Sun Certified Java Programmer

---

<div class="post-metadata">

**Author:** ![bartolome](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bcef8e/32.png) [@bartolome](https://www.ruby-forum.com/u/bartolome)\
**Post date:** [September 23, 2010, 6:42am UTC](https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423/2 "2010-09-23T06:42:42Z")

</div>

Rodrigo F. 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

---

<div class="post-metadata">

**Author:** ![bartolome](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bcef8e/32.png) [@bartolome](https://www.ruby-forum.com/u/bartolome)\
**Post date:** [September 23, 2010, 3:59pm UTC](https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423/3 "2010-09-23T15:59:50Z")

</div>

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 F. de Almeida\*  
Promine Tecnologia da InformaÃ§Ã£o - www.promine.com.br  
Project Manager  
Sun Certified Java Programmer

---

<div class="post-metadata">

**Author:** ![bartolome](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bcef8e/32.png) [@bartolome](https://www.ruby-forum.com/u/bartolome)\
**Post date:** [September 23, 2010, 5:34pm UTC](https://www.ruby-forum.com/t/superclass-mismatch-for-class-tempfile/195423/4 "2010-09-23T17:34:07Z")

</div>

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 F. de Almeida\*  
Promine Tecnologia da InformaÃ§Ã£o - www.promine.com.br  
Project Manager  
Sun Certified Java Programmer

On Thu, Sep 23, 2010 at 10:58 AM, Rodrigo F. \<
