RFuse-ng is a bridge between ruby and FUSE. The concept is very similar to Java JNI, which mean that it is mainly a native code written in “C”
RFuse-ng comes with a REDAME which is good, and it has a Makefle which is even better, but it also has several compilation errors – not good.
While reading the docs I find out why – RFuse-ng was tested with ruby 1.8 and I’m using 1.9.2. Further investigation of the code made me realize that ruby does not have Backwards compatibility, at least not in the aspect of native code support.
As Michael Feathers wrote in Working Effectively with Legacy Code “legacy code is code without tests” I understood that it is not going to be fun.
I had to tackle issues mainly due to changes in the way ruby exposes its string representation to “C” code. #define rules!!!!!!
Anyway, at the end of the road I’ve managed to create a patch file for RFuse-ng describing the changes required to make it work under ruby 1.9.2
Now, all I have to do now is to implement, (at least until the next obstacle)
class AlephFS < RFuse::Fuse # implement end