Railsアプリケーションなどで、lighttpdを使って開発していると、 tmp/sockets以下にソケットファイルが生成されます。

これがあると、 以前紹介したRak でエラーが発生して 上手く検索することが出来なくなる問題があったので、 対処方法を紹介します。

ソースコードを修正する必要があるので、 Rubyforgeから tar ball を持ってきます。

これを展開して、以下のようにファイルを書き換えます。

bin/rak

   1  --- rak_original        2007-12-26 20:48:26.440270979 +0900
   2  +++ bin/rak     2007-12-26 20:43:56.736258421 +0900
   3  @@ -464,6 +464,8 @@
   4         end
   5         return false
   6       end
   7  +  rescue Errno::ENXIO
   8  +    false
   9     end
  10  
  11     def self.search2(str, files)

あとは、rake install_gem すればOKです。

作者のDanには、メールでPatchを送っておきました。

posted by Png genki on Wed 26 Dec 2007 at 21:05

うーむ、この挙動の変更には驚いた。

今までなら、

   1  >>> a = $H()
   2  Object _object=Object
   3  >>> a.test = 'foo'
   4  "foo"
   5  >>> a.inspect()
   6  "#<Hash:{'test': 'foo'}>"

という挙動だったのだけれど、version 1.6以降、最後の結果が

   1  >>> a.test = 'foo'
   2  "foo"
   3  >>> a.inspect()
   4  "#<Hash:{}>"

と、空っぽのままになってしまう。 Hashへの要素の追加は、以下のようにgetsetを使わなくては ならないようだ。

   1  >>> a.set('test', 'foo')
   2  "foo"
   3  >>> a.inspect()
   4  "#<Hash:{'test': 'foo'}>"

これは結構影響が大きな変更なんじゃないかな・・・。

追記

Rails 2.0からprototype.js 1.6が使われるようになったから、 今頃気がついたわけですね。

JavaScriptライブラリ「Prototype.js 1.6.0」正式版リリース(ライブラリ)

Elementsは「new Element(...)」というシンタックスで生成できるようになり、Element#insert、Element#select、 Element#wrapといったAPIが提供された。また、Hashに関するAPIが変更され、Hash#get、Hash#setを使う必要がある。

posted by Png genki on Wed 26 Dec 2007 at 17:54

対応作業は完了いたしました。


現在のところ、 ShootingStar はRails 2.0への対応作業中です。

進展があり次第こちらでご報告いたします。

よろしくお願いいたします。

更新履歴

  • 2007/12/26 記事投稿
  • 2007/12/27 対応完了
posted by Png genki on Wed 26 Dec 2007 at 06:14

お疲れ様でした。

Railsが対応するのは 1.9.1 が出てからだろうか。

更新履歴

  • 2007/12/26 tar ballへのリンクを追加。
posted by Png genki on Wed 26 Dec 2007 at 06:06
Contents
Rakでソケットファイルがあるとエラーが発生する問題に対処
prototype.js 1.6から$Hがset/getでアクセスするようになった
ShootingStarのRails 2.0対応状況
Ruby 1.9.0 リリース!
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ