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]