rfusefs
rfusefs copied to clipboard
Ruby FUSE filesystem - write filesystems in Ruby (FuseFS API over rfuse)
rfusefs
- https://rubygems.org/gems/rfusefs
- https://github.com/lwoggardner/rfusefs
DESCRIPTION
RFuseFS is a port of the FuseFS library aimed at allowing Ruby programmers to quickly and easily create virtual filesystems with little more than a few lines of code.
RFuseFS is api compatible with FuseFS (0.7.0)
SYNOPSIS
FuseFS provides a layer of abstraction to a programmer who wants to create a virtual filesystem via FUSE.
First define a virtual directory by subclassing {FuseFS::FuseDir}
See samples under /samples and also the following starter classes
- {FuseFS::FuseDir}
- {FuseFS::MetaDir}
- {FuseFS::DirLink}
- {FuseFS::PathMapperFS}
- {FuseFS::SqliteMapperFS}
Then start your filesystem with
- {FuseFS.main} or {FuseFS.start}
Finally to use the filesystem open up your favourite file browser/terminal and
explore the contents under
Happy Filesystem Hacking!
the hello world filesystem in 14 LOC
require 'rfusefs'
class HelloDir
def contents(path)
['hello.txt']
end
def file?(path)
path == '/hello.txt'
end
def read_file(path)
"Hello, World!\n"
end
end
# Usage: #{$0} mountpoint [mount_options]
FuseFS.main() { |options| HelloDir.new }
REQUIREMENTS:
- FUSE (http://fuse.sourceforge.net)
- Ruby (>= 2.5)
- rfuse (~> 1.2)
INSTALL:
- gem install rfusefs
DEVELOPERS:
After checking out the source, run:
$ bundle install # install dependencies
$ rake spec # run tests
$ rake yard # generate docs
