swdyh

activesupport1.4.3でinclude Rackするとrequireできなくなる

2007-10-12 15:40:47

railsをアップデートしたら、自分用つくってたアプリが急に動かなくなった。
そのアプリはrailsを使っていなくて、rackとactiverecordを使ってる。
いろいろ削ってみると、これだけでエラーが起きることがわかった。

require 'rubygems'
require 'rack'
require 'active_support'

include Rack
require 'ostruct'
% ruby include_rack.rb
/opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.3/lib/active_support/dependencies.rb:376:in
 `new_constants_in': undefined method `empty?' for nil:NilClass (NoMethodError)
	from /opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.3/lib/active_support/dependencies.rb:495:in `require'
	from include_rack.rb:7


ostructに限らず、include Rack後は何をrequireしてもこれが出る。
1.4.2では大丈夫だったの1.4.3への変更点があやしい。
あとRackがautoloadしまくってるのもあやしい。
dependencies.rbのへんを見てみたけどよくわからず。
気が向いたらもう少し追いかけてみる。とりあえず、現状をメモ。


http://dev.rubyonrails.org/changeset/6426
http://dev.rubyonrails.org/ticket/6951