Ruby/Ruby On Rails/Plugin の変更点


* Ruby On Rails - Plugin [#j6201777]

** Annotate Models Plugin [#o2f37403]
テーブルのスキーマをコメントで抽出してくれるプラグイン
- インストール
 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 [#l8b4c21d]
国際化対応プラグイン

- インストール
 gem install gettext

- 対応手順~
''config/environment.rb''
 require 'gettext/rails'
''app/controllers/application.rb''
 init_gettext 'appli' ※適当に設定
''翻訳対象となる文字列を_ メソッドで囲む。''
 ex.) render :text => _('Not Found.')
''Rakefile''
 desc "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
注釈((GetText.update_pofiles() の第一引数(ここでは 'appli') は、app/controller/application.rb の init_gettext() の引数と一致していなければならない。))
#br
''対象文字列の抽出''
  rake updatepo
POTファイルが生成される。
 前回の処理以降は、
 追加された文字列は抽出される。
 変更された文字列はキーが差し替えられる。
 削除された文字列はコメントになってファイル末尾に移動する。
#br
''POTファイルからPOファイルを生成する。''
 mkdir -p po/ja
 msginit -i po/myapp.pot -o po/ja/myapp.po -l ja
生成したPOファイルのmsgstrの空欄に翻訳されたメッセージを書き込む。~
注釈((POTファイル中のコメントに fuzzy と付けられたエントリーは他に見かけが似ているために間違っている可能性がある箇所を指摘している。fuzzy コメントがついたエントリーが残っているとMOファイルの生成は行えない。適宜修正するか、問題がなければ fuzzy コメント自体を削除する。))
((私(Windows環境)の場合、POTファイルをコピーした。))
#br
''MOに変換''
 rake makemo
実際に翻訳に利用するバイナリデータは locale/ja/LC_MESSAGES/appli.mo として生成される。
#br
''各種言語の *.rhtmlを作成する。''
 app/view/foo/index.rhtml (デフォルト)
 app/view/foo/index_ja.rhtml (日本語用)

*** 情報源 [#z8f434a9]
-[[FFTT - ruby-gettext>http://tech.feedforce.jp/ruby-gettext.html]]
-[[川o・-・)<2nd life - Rails のためのものぐさな Web アプリケーションの国際化手法>http://d.hatena.ne.jp/secondlife/20070207/1170835130]]~
~

** RSpec [#f99d3da8]
テスト環境プラグイン

- インストール
 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

*** 情報源 [#z8f434a9]
-[[只今Ruby勉強中 - RSpec on Rails>http://rspec.rubyforge.org/]]~
~