Sha256: 74cee33338fa55470ae48f5e05b8e2d4288e422e2f3f60a26623647002953d5c
Contents?: true
Size: 1.82 KB
Versions: 2
Compression:
Stored size: 1.82 KB
Contents
module XDG class BaseDir # # 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.to_s #=> '~/.config/myapp' # module Mixin # @todo do we need this? extend self # Override this method to change the subdirectory of the mixin. def subdirectory nil end # def home File.expand_path('~') end # 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 # 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 # 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 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
xdg-2.1.0 | lib/xdg/base_dir/mixin.rb |
xdg-2.0.0 | lib/xdg/base_dir/mixin.rb |