Class: XDG::Paths::Directory
- Inherits:
-
Object
- Object
- XDG::Paths::Directory
- Defined in:
- lib/xdg/paths/directory.rb
Overview
A collection of XDG directories.
Constant Summary collapse
- DELIMITER =
":"
Instance Method Summary collapse
- #default ⇒ Object
- #dynamic ⇒ Object
-
#initialize(pair, environment = ENV) ⇒ Directory
constructor
A new instance of Directory.
- #inspect ⇒ Object
- #to_s ⇒ Object (also: #to_str)
Constructor Details
#initialize(pair, environment = ENV) ⇒ Directory
Returns a new instance of Directory.
9 10 11 12 13 |
# File 'lib/xdg/paths/directory.rb', line 9 def initialize pair, environment = ENV @pair = pair @environment = environment freeze end |
Instance Method Details
#default ⇒ Object
15 |
# File 'lib/xdg/paths/directory.rb', line 15 def default = value.split(DELIMITER).map { |path| path } |
#dynamic ⇒ Object
17 18 19 20 21 22 |
# File 'lib/xdg/paths/directory.rb', line 17 def dynamic String(environment[key]).then { |env_value| env_value.empty? ? value : env_value } .split(DELIMITER) .uniq .map { |path| path } end |
#inspect ⇒ Object
28 29 30 31 32 33 |
# File 'lib/xdg/paths/directory.rb', line 28 def inspect pairs = to_s type = self.class pairs.empty? ? "#<#{type}:#{object_id}>" : "#<#{type}:#{object_id} #{self}>" end |