タグ

activesupportに関するnsyeeのブックマーク (1)

  • Ruby/特異メソッドの上書きと退避 - TOBY SOFT wiki

    はじめに † Rubyの特異メソッド(Singleton Method)でモンキーパッチングとかするために、 上書きしたい。 そのときについでに元のメソッドは退避しておきたい、なんていう時。 ↑ 素のRubyを使った方法 † Ruby 1.8.7 for win32で確認しました。 class << hoge 定義 aliasで退避(普通のメソッドのように退避してよい) 特異メソッド定義(class << hoge なので普通のメソッドのように定義してよい) と言う感じです。以下サンプルコード。 $stdoutを上書きして、強制的にSJISで出力する例です。 ※このコード自身はサンプルなので実用的ではありません。実用的な例はrspecで使ってみたSJIS変換コードを参考にしてみて下さい。 #!ruby -Ku # override_method/stdout_hook_singleton_

  • 1