module XDG::BaseDir::Mixin
The BaseDir::Mixin
module can be used to add XDG
base directory methods to your own classes.
class MyAppConfig include XDG::BaseDir::Mixin def subdirectory 'myapp' end end c = MyAppConfig.new c.config.home.list #=> ['~/.config/myapp']
Public Instance Methods
cache()
click to toggle source
# File lib/xdg/base_dir/mixin.rb, line 66 def cache obj = XDG['CACHE'].with_subdirectory(subdirectory) class << obj def home XDG['CACHE_HOME'].with_subdirectory(subdirectory) end def dirs XDG['CACHE_DIRS'].with_subdirectory(subdirectory) end def work XDG['CACHE_WORK'].with_subdirectory(subdirectory) end end return obj end
config()
click to toggle source
# File lib/xdg/base_dir/mixin.rb, line 49 def config obj = XDG['CONFIG'].with_subdirectory(subdirectory) class << obj def home XDG['CONFIG_HOME'].with_subdirectory(subdirectory) end def dirs XDG['CONFIG_DIRS'].with_subdirectory(subdirectory) end def work XDG['CONFIG_WORK'].with_subdirectory(subdirectory) end end return obj end
data()
click to toggle source
# File lib/xdg/base_dir/mixin.rb, line 35 def data obj = XDG['DATA'].with_subdirectory(subdirectory) class << obj def home XDG['DATA_HOME'].with_subdirectory(subdirectory) end def dirs XDG['DATA_DIRS'].with_subdirectory(subdirectory) end end return obj end
home()
click to toggle source
# File lib/xdg/base_dir/mixin.rb, line 30 def home File.expand_path('~') end
subdirectory()
click to toggle source
Override this method to change the subdirectory of the mixin.
# File lib/xdg/base_dir/mixin.rb, line 25 def subdirectory nil end