プラグインをRubyForgeにあげてみた
小品をRubyForgeに上げてみました。MITライセンスでおけ、とのこと。
シンプルなヘルプ画面作成支援ヘルパーです。
http://rubyforge.org/projects/helplet/
簡単な使い方…
script/plugin install http://helplet.rubyforge.org/svn script/generate helplet rake db:migrate
とかやって、Viewに
<div id='help_area'>here is.</div> : : <%= get_help(:key => '1st_help', :disp_name => 'test get_help', :div_id => 'help_area', :edit => true) %>
と、get_helpヘルパーメソッドを埋め込むと、リンクが生成されます。それを押下すると、指定したdivブロックにヘルプ画面編集フォームが現れるのです。編集フォームではなく普通に表示したい場合は:editキーワードを省略するかfalseに。
表示のカスタマイズはRAILS_ROOT/config/helplet/template_***.erbの変更でいけます。とはいえ、こいつだけでは見た目が寂しいので、フローティングウィンドウ(Prototype Windowとか)のなかに表示させると、何となくそれらしく見えます。
動作の仕組みを簡単に説明すると…
- こっそりhelp_controllerがいて、呼ばれるとDBのhelpsテーブルに対してCRUする(あ、Dが無い…)。
- get_helpヘルパメソッドは、onclick時にhelp_controllerへAjaxアクセスするようなlinkを生成。
- そのAjaxはcontrollerからデータを取得すると指定されたdivをreplace。
- ヘルプ画面の内容(タイトルと詳細)はhelpsテーブルに入ります。
なお、バージョン0.1ではモデルやコントローラのクラス名やテーブル名は固定です。おまけにRailsなのにテストもついていません。0.1ですので。README書いて力尽きました。
まぁ、とにかくREADMEが大変でした。似たような英語の表現を探しまくったものの、つなげてみると違和感バリバリだったりして。英語力の無さを痛感する良い機会でした。