• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

monk-glue-0.0.1 に含まれている Monk::Glue::Reloaderには微妙な バグがあり、developmentモードでソースコードを更新したときに 自動リロードが上手くかからない事があるようです。

Rack::Reloaderの問題かと思っていたのですが、 調べてみると Monk::Glue::Reloader の処理に問題があることがわかりました。

reload!メソッドを以下のように修正したところ正常に動作することが確認できました。

   1    def reload!
   2      expanded_loaded_features = $LOADED_FEATURES.map do |path|
   3        File.expand_path(path)
   4      end
   5      hash = Hash[expanded_loaded_features.zip($LOADED_FEATURES)]
   6      deletes = []
   7      files.each do |file|
   8        if path = hash[File.expand_path(file)]
   9          $LOADED_FEATURES.delete(path)
  10        end
  11      end

$LOADED_FEATURESに絶対パスと相対パスが混在していることがあるようで、 その場合にうまく処理できていないようでした。

$LOADED_FEATURESは全て絶対パスで保持するようにしたほうが良い気がします。

posted by Png genki on Fri 22 Apr 2011 at 15:34

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry1908
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ