[RubyCocoa] [RubyAEOSA]
[English] [Japanese]
[2006-10-11] RubyAEOSAは開発を終了しました。新しく開発が進められているRubyOSAが後継となります。詳しくは(<URL:http://rubyosa.rubyforge.org/>)をどうぞ。
[2003-06-19] 最新バージョンは 0.2.3 です。
RubyAEOSA は、MacOS X において AppleEvent と OSA Scripting Component (OSA = Open Scripting Architecture) を扱うための Ruby 用ライブラリです。 RubyAEOSAを使うと、RubyスクリプトやRubyCocoaアプリケーションの中から
といったことができます。
Mac OS X 10.2 (Jaguar) では付属の Ruby で RubyAEOSA を使うことができま す。別途 Ruby をインストールする必要はありません。
AppleScriptを使って指定したURLをInternet Explorerに表示します。
require 'osx/aeosa'
URL = "http://www.ruby-lang.org/"
SCRIPT = <<SCRIPT
tell application "Internet Explorer"
activate
openURL "#{URL}"
end tell
SCRIPT
OSX.do_osascript (SCRIPT)
Internet Explorerに必須AppleEventコマンドを送信する例です。
require 'osx/aeosa' app = OSX::AEDesc.application "Internet Explorer" app.open_docs "html/INDEX.en.html" app.activate app.quit_app
TextEditにAppleEventを送信する例です。
require 'osx/aeosa'
app = OSX::AEDesc.application "TextEdit"
app.ae_send ('aevt', 'odoc', OSX::AEDesc.fss ("README.en"))
app.ae_send ('aevt', 'quit')
app.aevtodoc OSX::AEDesc.fss ("README.en")
app.aevtquit
AppleScriptの実行結果を標準出力します。
require 'osx/aeosa'
app = OSX::AEDesc.application "TextEdit"
app.open_docs("README.en.txt")
SCRIPT = <<SCRIPT
tell application "TextEdit"
tell text of front document
third paragraph
end
end
SCRIPT
puts OSX.do_osascript(SCRIPT).to_s.strip
RubyCocoa と RubyAEOSA により、Ruby スクリプトと Interface Builder の Nib ファイルのみで書かれた Cocoa アプリケーション が動作しているところのスクリーンショットです。
ファイル一覧 の中から RubyCocoa-0.3.x.dmg ファイルをダウンロードしてください。RubyCocoa とRubyAEOSA のライブラリ とlibruby.a、サンプルコードなどが含まれています。実行・開発に必要なラ イブラリ類は ".pkg"形式のパッケージになっていて、簡単にインストールで きます。
このファイル一覧 の中から rubyaeosa-0.2.x.tgz ファイルをダウンロードしてください。
Project PINEAPPLE(日本語) にRPM形式の バイナリがあります。
バグリポート、コメントなどお気軽にお寄せください。
藤本尚邦, <hisa at fobj.com>, 2006/10/11