lib/runcom/data.rb in runcom-5.1.1 vs lib/runcom/data.rb in runcom-6.0.0

- old
+ new

@@ -1,33 +1,22 @@ # frozen_string_literal: true -require "pathname" +require "forwardable" module Runcom # A developer friendly wrapper of XDG data. - Data = Struct.new :name, :home, :environment, keyword_init: true do + class Data extend Forwardable - delegate %i[inspect] => :data + DEFAULT_CONTEXT = Context.new xdg: XDG::Data - def initialize *arguments - super + delegate %i[relative namespace file_name current all inspect] => :common - self[:home] ||= Runcom::Paths::Friendly - self[:environment] ||= ENV - @data = XDG::Data.new home: home, environment: environment - freeze + def initialize path, context: DEFAULT_CONTEXT + @common = Paths::Common.new path, context: context end - def path - paths.find(&:exist?) - end - - def paths - data.all.map { |root| Pathname "#{root}/#{name}" } - end - private - attr_reader :data + attr_reader :common end end