RubyOnWorld / rfusefs

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rfusefs

Gem Version

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:

INSTALL:

  • gem install rfusefs

DEVELOPERS:

After checking out the source, run:

$ bundle install # install dependencies
$ rake spec # run tests
$ rake yard # generate docs

About

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.

License:MIT License


Languages

Language:Ruby 100.0%