Ruby/Ruby On Rails/Plugin のバックアップ(No.5)


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.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
    注釈*1
     
    対象文字列の抽出
     rake updatepo
    POTファイルが生成される。
    前回の処理以降は、
    追加された文字列は抽出される。
    変更された文字列はキーが差し替えられる。
    削除された文字列はコメントになってファイル末尾に移動する。
     
    POTファイルからPOファイルを生成する。
    mkdir -p po/ja
    msginit -i po/myapp.pot -o po/ja/myapp.po -l ja
    生成したPOファイルのmsgstrの空欄に翻訳されたメッセージを書き込む。
    注釈*2 *3
     
    MOに変換
    rake makemo
    実際に翻訳に利用するバイナリデータは locale/ja/LC_MESSAGES/appli.mo として生成される。
     
    各種言語の *.rhtmlを作成する。
    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ファイルをコピーした。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS