Есть ли в Ruby эквивалент to_yaml_properties для проверки? - PullRequest
1 голос
/ 01 марта 2011

Object#to_yaml_properties - это метод, который вы можете использовать для перечисления переменных экземпляра, которые вы хотите сериализовать в YAML, без необходимости повторной реализации всего процесса сериализации.Если вы хотите исключить определенные переменные экземпляра, вы можете использовать super, а затем отфильтровать те, которые вам не нужны.

Существует ли эквивалентный метод, который позволяет перечислять только определенные переменные при вызове Object#inspect или мне придется заново реализовать весь метод?

1 Ответ

1 голос
/ 01 марта 2011

В ванильном Ruby такого механизма нет.

Что касается плюса, вы можете реализовать его, а затем использовать его в своем переопределении MyClass#inspect. Вам не нужно делать всю работу для каждого класса, просто создайте метод уровня класса, который позволит вам установить проверку.

Или вы можете добавить свой собственный Object#limited_inspect и переопределить Kernel#p (или добавить свой собственный ярлык), чтобы использовать все переменные экземпляра, за исключением тех, которые могут быть исключены.

...