C/Objective-C 用の Ruby 拡張機能をビルドして、Ruby on Rails Web アプリケーションで使用したいと考えていますが、それを要求しようとするたびに WEBrick がクラッシュします。私が持っているものは次のとおりです。
- C クラス (MyExtension) に関連付けられている Ruby クラス: MyRubyObject があります。
- MyRubyObject は 1 つのメソッドで定義されています: myRubyMethod は私の C クラスの関数に関連付けられています。MyExtension: 文字列を返すだけの myextensionmethod です。
- myextensionmethod は本質的に別のライブラリを呼び出します。このライブラリは一連の作業 (複数のスレッドなど) を実行しますが、最終的には文字列を返します。
すべてをコンパイルした後、MyRubyObject.bundle ファイルを取得します。IRB を使用すると、次のことができます。
require './MyRubyObject' p = MyRubyObject.new p.myRubyMethod => "結果!"
これはすべて問題なく動作し、RoR アプリで使用したいと考えています。
- MyRubyObject.bundle を RoR アプリの lib に配置し、コントローラー クラスから require ./lib/MyRubyObject.bundle を実行すると、WEBrick がクラッシュします!!!!
どんな助けでも大歓迎です!!!
乾杯