Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Object#to_yaml_propertiesは、シリアル化プロセス全体を再実装することなく、YAML にシリアル化するインスタンス変数を一覧表示するために使用できる方法です。特定のインスタンス変数を除外したい場合は、使用superして、不要なものを除外できます。
Object#to_yaml_properties
super
を呼び出すときに特定の変数のみをリストできる同等のメソッドはありますかObject#inspect、それともメソッド全体を再実装する必要がありますか?
Object#inspect
バニラRubyにはそのようなメカニズムはありません。
プラス面としては、それを実装してから、の再定義に使用できますMyClass#inspect。クラスごとにすべての作業を行う必要はありません。検査を設定できるクラスレベルのメソッドを作成するだけです。
MyClass#inspect
または、独自のインスタンス変数を追加してObject#limited_inspect再定義Kernel#p(または独自のショートカットを追加)して、除外される可能性のあるものを除いたすべてのインスタンス変数を使用することもできます。
Object#limited_inspect
Kernel#p