💎
Ruby 3.2 - Module
Ruby 3.2 アドベントカレンダーの17日目の記事です。
Module
Module#const_added
Feature #17881: Add a Module#const_added callback - Ruby master - Ruby Issue Tracking System
Module#const_added
が追加された。定数が追加されたときに実行されるメソッド。
モジュールやクラスが追加されたときも実行される。
module Hoge
def self.const_added(const)
puts "#{const.inspect} is added"
end
end
Hoge::CONST = 1
#=> :CONST is added
class Hoge::Fuga
end
#=> :Fuga is added
Module#undefined_instance_methods
Feature #12655: Accessing the method visibility - Ruby master - Ruby Issue Tracking System
Module#undefined_instance_methods
が追加された。undef されたメソッドの一覧が返る。
class Hoge
def hoge
end
end
Hoge.undefined_instance_methods #=> []
class Hoge
undef hoge
end
Hoge.undefined_instance_methods #=> [:hoge]
Discussion