Sha256: 5bfcf7bbc9722d864ed0406cbc4f50d5b02dadc8265236ec19792bed8e049597
Contents?: true
Size: 896 Bytes
Versions: 4
Compression:
Stored size: 896 Bytes
Contents
# frozen_string_literal: true require "pathname" module XDG module Paths # A collection of XDG directories. class Directory DELIMITER = ":" def initialize pair, environment = ENV @pair = pair @environment = environment end def default = value.split(DELIMITER).map { |path| expand path } def dynamic String(environment[key]).then { |env_value| env_value.empty? ? value : env_value } .split(DELIMITER) .uniq .map { |path| expand path } end def inspect = [key, dynamic.join(DELIMITER)].reject(&:empty?).join(XDG::DELIMITER) private attr_reader :pair, :environment def key = String(pair.key) def value = String(pair.value) def expand(path) = Pathname(path).expand_path end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
xdg-7.0.3 | lib/xdg/paths/directory.rb |
xdg-7.0.2 | lib/xdg/paths/directory.rb |
xdg-7.0.1 | lib/xdg/paths/directory.rb |
xdg-7.0.0 | lib/xdg/paths/directory.rb |