すでに作成したRubyアプリケーションをShoesを使用するように拡張しようとしています。すでに作成したクラスがあり、そのクラスでGUIを使用できるようにしたいと考えています。つまり、クラスに次のようなものを持たせたいのです。
class MyClass
def draw
# draw something using Shoes
end
end
内部の別のメソッドは、何かを描画したいときにMyClass
呼び出します。draw()
私はこれをいくつかの方法で試しましたが、どれもうまくいかないようです。クラス全体をShoesアプリでラップすることができます。楕円形を描きたいとしましょう:
Shoes.app {
class MyClass
def draw
oval :top => 100, :left => 100, :radius => 30
end
end
}
しかし、それは言うundefined method 'oval' for MyClass
。
私もこれを試しました:
class MyClass
def draw
Shoes.app {
oval :top => 100, :left => 100, :radius => 30
}
end
end
test()
これは正常に実行されますが、が呼び出されるたびに新しいウィンドウが開きます。
インスタンスメソッド内からShoesを使用して物を描くにはどうすればよいですか?