gem – bluegold https://blog.bluegold.me OpenSolaris と MacBook で自宅ネットワークを構築するメモ Mon, 23 Aug 2010 18:27:31 +0000 ja hourly 1 https://wordpress.org/?v=5.2.1 6047458 Rails 1.2.6 と gem 1.3.0 を一緒に使う https://blog.bluegold.me/2008/12/rails-126-and-gem-130/ https://blog.bluegold.me/2008/12/rails-126-and-gem-130/#respond Wed, 17 Dec 2008 16:18:53 +0000 http://blog.bluegold.me/?p=132 Merbが最近はやっているようなので、インストールして使ってみようと思いました。Merb には Rubygems 1.3.0 以上が必要なのでアップデートしたところ、仕事で開発している Rails 1.2.6 で作られたアプリケーションに gem の deprecated メッセージが出てくるようになってしまいました。

たとえば script/console を実行すると以下のようなメッセージが出てきます。

$ script/console 
Gem::SourceIndex#search support for String patterns is deprecated
./script/../config/boot.rb:20 is outdated
Loading development environment.
Gem::SourceIndex#search support for String patterns is deprecated
./script/../config/../config/boot.rb:20 is outdated
>> 

このアプリは Rails を使っているのでとうぜんWeb用のアプリなのですが、管理用に独自のコマンドラインシェルを用意しています。こちらのコマンドの実行時にも同様のメッセージが出てきてしまっています。「Rails 2.2 系に上げるいい時期かな」とも思わないでもないのですが、製品として提供している物なので、今期末にいくつか控えている納品を終えるまではバージョンを上げるわけにもいきません。

仕方がないのでクイックハック
script/console の最初で stderr を /dev/null に捨てるようにしました。

#!/usr/bin/env ruby
$stderr.reopen('/dev/null')
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/console'

deprecated なメッセージを簡単に抑制する設定とかもあるんだろうか。。。

]]>
https://blog.bluegold.me/2008/12/rails-126-and-gem-130/feed/ 0 132