プラグインを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が大変でした。似たような英語の表現を探しまくったものの、つなげてみると違和感バリバリだったりして。英語力の無さを痛感する良い機会でした。