• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« 2007年10月14日 | 2007年10月18日 »
  • database.ymlにERBが使えます&alias_method_chain 2007-10-15 00:00:00

     今日は仕事でdatabase.ymlにERBが使えることを教えてもらった。

    <% require '/etc/rails/conf/conf.rb ' %>
    
    development:
      adapter: <%= config.db_adpter %>
      database: <%= config.db_name %>
      username: <%= config.username %>
      password: <%= config.password %>
      socket: <%= config.db_socket %>
    ...
    (略)
    

    としてあげて、conf.rbには

    def config
      Class.new do
        def db_adpter; 'mysql' end
        def db_name; 'sample_development' end
        def username; 'test' end
        def password; 'test_pass' end
        def db_socket; '/var/run/mysqld/mysqld.sock'
      end.new
    end
    

    としてあげるとOK。
    今まではひとりで開発していたのでそれほど気にしていなかったけど、こういうやり方をすればどんな環境でもdatabase.ymlを変更する必要がないですね。

     Railsでメソッドをオーバライドするときはalias_method_chainという機能が便利。

    class Tsukasa
      def like
        'バイク'
      end
    end
    

    これに、事前に標準入力を受け付ける処理を追加してオーバライドします。

    class Tsukasa
      def like_with_question
        puts "言葉を入力してください"
        if gets == 'nsr'
          like_without_question
        else
          puts "バイクじゃない"
        end
      end
      alias_method_chain :like, :question
    end
    

    like_with_questionがlikeメソッドをオーバーライドするもので、like_without_questionががオーバライド前のメソッドを呼び出します。継承だったらsuperとか使えるだろうけど……。alias_mehod_chanはオーバライド前後のメソッドを指定してあげます。

    Commentコメント(0) Pageリンク元(126) Append 247
  • コードギアス 反逆のルルーシュ 1
    作者/アーティスト: 木村貴宏,大河内一楼
    メディア: DVD
    人間失格 (新潮文庫 (た-2-5))
    メディア: 文庫
« 2007年10月14日 | 2007年10月18日 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.フラグメントキャッシュをRailsで使う。
  • 10.RailsとPostfixで受信メールを処理する方法

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画