Ruby/Ruby On Rails/Plugin
Ruby On Rails - Plugin
Annotate Models Plugin
テーブルのスキーマをコメントで抽出してくれるプラグイン
- インストール
script/plugin install http://svn.pragprog.com/Public/plugins/annotate_models
- 使い方
rake annotate_models
これでapp/models以下のファイルに下記のようなコメントをDBから抽出してつけてくれます.# Schema as of Mon Feb 27 00:55:58 CST 2006 (schema version 7) # # id :integer(11) not null # name :string(255) # description :text # image_location :string(255) # price :float default(0.0) # available_at :datetime # class Product < ActiveRecord::Base validates_presence_of :name, :description . . .
ruby-gettext
国際化対応プラグイン
- インストール
gem install gettext
- 対応手順
config/environment.rbrequire 'gettext/rails'
app/controllers/application.rbinit_gettext 'appli' ※適当に設定
翻訳対象となる文字列を_ メソッドで囲む。ex.) render :text => _('Not Found.')
Rakefiledesc "Update pot/po files." task :updatepo => :environment do require 'gettext/utils' files = Dir['{app,lib}/**/*.{rb,rhtml}'] GetText.update_pofiles('appli', files, VERSION) end desc "Create mo-files" task :makemo do require 'gettext/utils' GetText.create_mofiles(true, 'po', 'locale') end
注釈*1rake updatepo
POTファイルが生成される。前回の処理以降は、 追加された文字列は抽出される。 変更された文字列はキーが差し替えられる。 削除された文字列はコメントになってファイル末尾に移動する。
mkdir -p po/ja msginit -i po/myapp.pot -o po/ja/myapp.po -l ja
生成したPOファイルのmsgstrの空欄に翻訳されたメッセージを書き込む。
注釈*2 *3rake makemo
実際に翻訳に利用するバイナリデータは locale/ja/LC_MESSAGES/appli.mo として生成される。app/view/foo/index.rhtml (デフォルト) app/view/foo/index_ja.rhtml (日本語用)
情報源
RSpec
テスト環境プラグイン
- インストール
gem install rspec
- Rspec On Railsインストール
ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_*_*_*/rspec_on_rails/vendor/plugins/rspec_on_rails/ *_*_*は各バージョン
- 対応手順
spec ファイルを作る。ruby script/generate rspec
適当なモデルの spec ファイルを作る。ruby script/generate rspec_model user
サーバを起動。ruby script/spec_server
情報源
*1 GetText.update_pofiles() の第一引数(ここでは 'appli') は、app/controller/application.rb の init_gettext() の引数と一致していなければならない。
*2 POTファイル中のコメントに fuzzy と付けられたエントリーは他に見かけが似ているために間違っている可能性がある箇所を指摘している。fuzzy コメントがついたエントリーが残っているとMOファイルの生成は行えない。適宜修正するか、問題がなければ fuzzy コメント自体を削除する。
*3 私(Windows環境)の場合、POTファイルをコピーした。
2007-09-06 (木) 03:00:02 (6240d)