特異クラスを開いてクラスメソッドを定義する
Rubyにおいて、クラスメソッドとはクラスオブジェクトの特異メソッドである。特異メソッドは特異クラスのインスタンスメソッドである。よって、クラスオブジェクトの特異クラスを開いてインスタンスメソッドを定義すれば、クラスメソッドを定義できることになる。以下はこれを利用して既存のクラスメソッドに別名を付けるサンプルコードである。
class Clazz def self.class_method puts "I'm class method!" end end class << Clazz alias class_method_alias class_method end Clazz.class_method #=> "I'm class method!" Clazz.class_method_alias #=> "I'm class method!"