-
Notifications
You must be signed in to change notification settings - Fork 14
Home
XDG provides an easy to use module for utilizing the XDG Base Directory Standard.
If your program utilizes user or system-wide support files (eg. configuration files), you owe it to yourself to checkout the XDG standard.
You can learn more about the standard here.
XDG consists of a small set of modules, one for each XDG directory. Each of
these has a small base set of easy to use methods.
XDG::Config.home XDG::Config.dirs XDG::Config.find(pattern){ |path| ... } XDG::Config.select(pattern){ |path| ... } XDG::Data.home XDG::Data.dirs XDG::Data.find(pattern){ |path| ... } XDG::Data.select(pattern){ |path| ... } XDG::Cache.home XDG::Cache.find(pattern){ |path| ... } XDG::Cache.select(pattern){ |path| ... }
XDG can also access these modules via methods.
XDG.config.home XDG.config.dirs XDG.config.find(pattern){ |path| ... } XDG.config.select(pattern){ |path| ... } XDG.data.home XDG.data.dirs XDG.data.find(pattern){ |path| ... } XDG.data.select(pattern){ |path| ... } XDG.cache.home XDG.cache.find(pattern){ |path| ... } XDG.cache.select(pattern){ |path| ... }
If you know XDG these are pretty much self-explanitory.
But see the RDocs for specifics.
The Ruby XDG module also provides extended functionality
not part of the standard specification. These extensions are
simply add-on funcitonality deemed useful, or implementations
of proposals being discussed for a possible future version of
the standard.
require 'xdg/extended' XDG.config.work XDG.cache.work
See the API for the extended.rb, to learn more. Note that
the extended modules are subject to great change of change
as they are still being designed.
== HOW TO INSTALL
Using RubyGems:
$ sudo gem install xdg
Installing the tarball requires Ruby Setup (see http://proutils.github.com/setup).
$ tar -xvzf xdg-0.5.2 $ cd xdg-0.5.2 $ sudo setup.rb all
Visit http://github.com/proutils/xdg
Copyright © 2008, 2009 Thomas Sawyer
Distributed under the terms of the LGPL v3 license.
See COPYING file for details.