Class: Teems::Support::XdgPaths
- Inherits:
-
Object
- Object
- Teems::Support::XdgPaths
- Defined in:
- lib/teems/support/xdg_paths.rb
Overview
XDG-compliant paths for config, cache, and data directories
Instance Method Summary collapse
- #cache_dir ⇒ Object
- #cache_file(filename) ⇒ Object
- #config_dir ⇒ Object
- #config_file(filename) ⇒ Object
- #data_dir ⇒ Object
- #data_file(filename) ⇒ Object
- #ensure_cache_dir ⇒ Object
- #ensure_config_dir ⇒ Object
- #ensure_data_dir ⇒ Object
Instance Method Details
#cache_dir ⇒ Object
14 15 16 17 18 19 |
# File 'lib/teems/support/xdg_paths.rb', line 14 def cache_dir @cache_dir ||= File.join( ENV.fetch('XDG_CACHE_HOME', File.join(Dir.home, '.cache')), 'teems' ) end |
#cache_file(filename) ⇒ Object
32 33 34 |
# File 'lib/teems/support/xdg_paths.rb', line 32 def cache_file(filename) File.join(cache_dir, filename) end |
#config_dir ⇒ Object
7 8 9 10 11 12 |
# File 'lib/teems/support/xdg_paths.rb', line 7 def config_dir @config_dir ||= File.join( ENV.fetch('XDG_CONFIG_HOME', File.join(Dir.home, '.config')), 'teems' ) end |
#config_file(filename) ⇒ Object
28 29 30 |
# File 'lib/teems/support/xdg_paths.rb', line 28 def config_file(filename) File.join(config_dir, filename) end |
#data_dir ⇒ Object
21 22 23 24 25 26 |
# File 'lib/teems/support/xdg_paths.rb', line 21 def data_dir @data_dir ||= File.join( ENV.fetch('XDG_DATA_HOME', File.join(Dir.home, '.local', 'share')), 'teems' ) end |
#data_file(filename) ⇒ Object
36 37 38 |
# File 'lib/teems/support/xdg_paths.rb', line 36 def data_file(filename) File.join(data_dir, filename) end |
#ensure_cache_dir ⇒ Object
47 48 49 50 51 52 |
# File 'lib/teems/support/xdg_paths.rb', line 47 def ensure_cache_dir FileUtils.mkdir_p(cache_dir) rescue SystemCallError => e warn "teems: Could not create cache directory #{cache_dir}: #{e.}" raise end |
#ensure_config_dir ⇒ Object
40 41 42 43 44 45 |
# File 'lib/teems/support/xdg_paths.rb', line 40 def ensure_config_dir FileUtils.mkdir_p(config_dir) rescue SystemCallError => e warn "teems: Could not create config directory #{config_dir}: #{e.}" raise end |
#ensure_data_dir ⇒ Object
54 55 56 57 58 59 |
# File 'lib/teems/support/xdg_paths.rb', line 54 def ensure_data_dir FileUtils.mkdir_p(data_dir) rescue SystemCallError => e warn "teems: Could not create data directory #{data_dir}: #{e.}" raise end |