rb-appscript: доступ к родительской ссылке?

Есть ли простой способ найти ссылку на родительский элемент ссылки?

Например, предположим, у меня есть следующая ссылка:

ref = app("System Events").processes["Safari"].windows[1].buttons[1]

Я хотел бы сделать что-то похожее на следующее:

ref.parent  # => app("System Events").processes["Safari"].windows[1].buttons

Или даже:

ref.parent  # => app("System Events").processes["Safari"].windows[1]

Я просмотрел документацию и руководства и не увенчался успехом. Я также попробовал сделать "нет-нет", исправляя класс AppsScript::Reference и добавляя свои собственные методы, но он начинает ломать мои спецификации способами, которые трудно устранить. Я также думал об использовании eval, но это казалось худшей идеей. Какие-нибудь мысли?

1 ответ

После небольшого почесывания подбородка, я думаю, у меня может быть решение:

ref = app("System Events").processes["Safari"].windows[1].buttons[1]
ref.attributes[its.name.eq("AXParent")].value.get

Возвращает

[app("/System/Library/CoreServices/System Events.app").application_processes["Safari"].windows["rb-appscript: Accessing parent reference? - Stack Overflow"]]

Это такая вещь?

Ян

Другие вопросы по тегам