我有 Rails 4 应用程序。我创建了简单的 C 扩展,Ruby C API
这个扩展从data
文件夹转换文件并返回基于该文件的输出(some_file.f
)
|-- data
| |--some_file.f
|-- ext
| `-- my_ext
| |-- extconf.rb
| |-- some_lib.c
| `-- my_ext.c
|-- lib
现在,当我想使用该扩展时,我需要在my_ext
dir中运行以下命令
ruby extconf.rb
make
然后我有额外的.o
.bundle
编译文件。我还创建了初始化程序require 'my_ext/my_ext'
我应该将这些文件移到哪里?进
lib/my_ext
?有没有办法改进编译过程并更好地组织编译文件?将来我还想添加测试并在扩展编译后运行它们。也许我应该从那个扩展创建一个 gem?还是耙任务?
我阅读了http://tenderlovemaking.com/2009/12/18/writing-ruby-c-extensions-part-1.html本教程,但是如何在 Rails 应用程序中实现它?将 Rakefile 放在哪里?