http://rubygems.org/gems/rfuse
Ruby FUSE binding
FUSE (Filesystem in USErspace) is a simple interface for userspace programs to export a virtual filesystem to the linux kernel. FUSE aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.
This library provides the low-level fuse operations as callbacks into a ruby object.
For a more ruby-ish API for creating filesystems see {http://rubygems.org/gems/rfusefs RFuseFS} which is built on RFuse and takes care of some of the heavy lifting.
- Ruby 1.9+
- Fuse 2.8
gem install rfuse
Create your filesystem as a class implementing the abstract FUSE methods from {RFuse::Fuse} as necessary.
Run it with {RFuse.main}
For a sample filesystem see sample/test-ruby.rb
To run the example:
mkdir /tmp/fuse
ruby sample/test-ruby.rb /tmp/fuse
there should be an empty in-memory filesystem mounted at /tmp/fuse
This project is forked from rfuse-ng which was forked from the original rfuse.
RFuse-NG: Tamás László Fábián [email protected] et al on Github
Original Rfuse (@rubyforge): Peter Schrammel AT gmx.de
See also {file:CHANGES.md}
- Fork it on {http://github.com/lwoggardner/rfuse on GitHub}
- Create your feature branch (
git checkout -b my-new-feature
) - Write some specs and make them pass
- Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request