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]

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


person Thai Doan    schedule 15.04.2011    source источник


Ответы (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"]]

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

Ян

person Ian Haigh    schedule 20.04.2011