RubyAEOSA

[RubyCocoa] [RubyAEOSA]

[English] [Japanese]

ニュース

[2006-10-11] RubyAEOSAは開発を終了しました。新しく開発が進められているRubyOSAが後継となります。詳しくは(<URL:http://rubyosa.rubyforge.org/>)をどうぞ。

[2003-06-19] 最新バージョンは 0.2.3 です。

RubyAEOSAとは ?

RubyAEOSA は、MacOS X において AppleEvent と OSA Scripting Component (OSA = Open Scripting Architecture) を扱うための Ruby 用ライブラリです。 RubyAEOSAを使うと、RubyスクリプトやRubyCocoaアプリケーションの中から

といったことができます。

Mac OS X 10.2 (Jaguar) に関して

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 アプリケーション が動作しているところのスクリーンショットです。

入手方法

Mac OS X 10.2 用バイナリ

ファイル一覧 の中から RubyCocoa-0.3.x.dmg ファイルをダウンロードしてください。RubyCocoa とRubyAEOSA のライブラリ とlibruby.a、サンプルコードなどが含まれています。実行・開発に必要なラ イブラリ類は ".pkg"形式のパッケージになっていて、簡単にインストールで きます。

ソース

このファイル一覧 の中から rubyaeosa-0.2.x.tgz ファイルをダウンロードしてください。

PINEAPPLE RPMパッケージ

Project PINEAPPLE(日本語) にRPM形式の バイナリがあります。

ドキュメント

リンク

コメントなど

バグリポート、コメントなどお気軽にお寄せください。

藤本尚邦, <hisa at fobj.com>, 2006/10/11