私はと呼ばれるモデルを持っており、Client
クライアント(実際の種類)がクラスレベルの変更を必要とする変更を行っている特定の場合にそれを複製したいと思います。
たとえば、私が持っている場合:
class Client
set_table_name :clients
def some_method
puts "Hello"
end
end
次に、次の場合:
module ClientA
def some_method
puts "World"
end
end
クラスのクローンを作成(または複製)してから、モジュールを含めてメソッドを上書きできると思いますsome_method
。
しかし、これが私の本番コンソールで起こることです:
> CA = Client.dup
> CA.singleton_class.send(:include, ClientA) # Or just CA.send(:include, ClientA)
> client = CA.new
> client.some_method
=> "Hello" # Expected "World"
これにトリックはありますか?