2010/07/17

"version_requirements is deprecated" への対応

Redmine にて Subversion と連動させた。
リポジトリをアクセスのたびに取得するのはうっとおしいので、コミットの自動取得を off にして、cron で自動取得にしている。
crontab はこんな感じ。
00 * * * * cd /var/lib/rails/redmine && ruby script/runner "Repository.fetch_changesets" -e production
で script/runner 実行時に下のような警告が出る。
./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
これが、root からメール転送されてくるので非常にうざい。
なんとかしなければ。
def requirement
  r = version_requirements     # ココ
  (r == Gem::Requirement.default) ? nil : r
end
ココを直せばいいのらしい。
というわけでコチラを参考に config/environment.rb にコードを挿入する。(20行目ぐらい)
# "version_requirements is deprecated" への対応
if Gem::VERSION >= "1.3.6"
  module Rails
    class GemDependency
      def requirement
        r = super
        (r == Gem::Requirement.default) ? nil : r
      end
    end
  end
end
これは rails のバージョンが 2.3.5 で rubygems のバージョンが 1.3.6 以降の時に起こるようだ。
今後のバージョンでは最新の 2.3.8 以降が適用されるだろうから安心か。

0 件のコメント :

コメントを投稿