「AutoCode」(2008/12/21 (日) 10:01:41) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
= AutoCode =
*http://autocode.rubyforge.org/
*http://d.hatena.ne.jp/keita_yamaguchi/20080314/1205460857
autocode
autocreate
metaid
autoload
metaid
reloadable
metaid
Introducing Autocode 0.9.9
by Dan Yoder on May 18, 2008
Autocode は基本的にmixinで動作する Ruby のクラスローダです。またモジュールもロードして初期化フックを加えるでしょう。 これは本当のコード再読み込みを提供し、作ったアプリケーションに実際に hot-swap コードを使えるようにできます。これにより実行中のメモリから定数を取り除き、先にロードされたartifacts(?)が残っているという危険はまったくありません。
Example
次のコードは、「View」クラスからViewモジュールの範囲でどんな参照された定数でもロードすることを試すでしょう。結果、 Views::Show は“views/show.rb”をロードしようとするでしょう。
module Views
include AutoCode
auto_load true, :directories => [ 'views' ]
end
また別のより洗練された例もあります。 まず始めに「models」ディレクトリからモデルクラスをロードしようとし、それに失敗すると「default」をクラス生成に使うでしょう。
module Blog
module Models
class Default
# ...
end
auto_create_class true, Blog::Models::Default
auto_load_class true, :directories => ['models']
end
end
That’s it. 要求されてロードしたすべてのものの使い方を心配する必要はありません。あなたは実際にダイナミックにロードされたコードをすべて破棄するには Blog::Models.reload を呼ぶことができます。(結果、強制的に再読み込みされます)。
Go to the main project page.(http://autocode.rubyforge.org/)
表示オプション
横に並べて表示:
変化行の前後のみ表示: