モジュール内のクラスにあるメソッドを改良したいのですが、クラスを改良しようとしても、改良されたコードを実行することができません。
module App
module Entities
class User
def self.name(name)
puts "Original name: #{name}"
end
end
end
end
module RefinedUser
refine App::Entities::User do
def self.name(name)
puts "Refined name: #{name}"
end
end
end
class Runner
def original
App::Entities::User.name('Forest')
end
using RefinedUser
def refined
App::Entities::User.name('Forest')
end
end
r = Runner.new
r.original
r.refined
出力:
Original name: Forest
Original name: Forest