Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-xdg for openSUSE:Factory 
checked in at 2021-01-21 21:56:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-xdg (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-xdg.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-xdg"

Thu Jan 21 21:56:33 2021 rev:3 rq:865267 version:5.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-xdg/rubygem-xdg.changes  2019-08-06 
15:09:33.435801615 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-xdg.new.28504/rubygem-xdg.changes       
2021-01-21 21:56:36.785841626 +0100
@@ -1,0 +2,13 @@
+Thu Jan 21 08:34:35 UTC 2021 - Stephan Kulow <[email protected]>
+
+- updated to version 5.1.0
+  no changelog found
+- limit to ruby 3.0 (as from upstream)
+
+-------------------------------------------------------------------
+Thu May  7 21:41:43 UTC 2020 - Stephan Kulow <[email protected]>
+
+- updated to version 4.1.0
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  xdg-3.0.1.gem

New:
----
  xdg-5.1.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-xdg.spec ++++++
--- /var/tmp/diff_new_pack.5dVUCA/_old  2021-01-21 21:56:37.573841895 +0100
+++ /var/tmp/diff_new_pack.5dVUCA/_new  2021-01-21 21:56:37.577841897 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-xdg
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,16 +24,20 @@
 #
 
 Name:           rubygem-xdg
-Version:        3.0.1
+Version:        5.1.0
 Release:        0
 %define mod_name xdg
 %define mod_full_name %{mod_name}-%{version}
+# MANUAL
+%define rb_build_versions     ruby30
+%define rb_build_ruby_abis    ruby:3.0.0
+# /MANUAL
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  %{ruby < 3}
-BuildRequires:  %{ruby => 2.6}
+BuildRequires:  %{ruby < 4}
+BuildRequires:  %{ruby => 3.0}
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  ruby-macros >= 5
-Url:            https://github.com/bkuhlmann/xdg
+URL:            https://www.alchemists.io/projects/xdg
 Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        Provides an implementation of the XDG Base Directory 
Specification
@@ -49,7 +53,6 @@
 
 %install
 %gem_install \
-  --doc-files="LICENSE.md README.md" \
   -f
 
 %gem_packages

++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.5dVUCA/_old  2021-01-21 21:56:37.605841906 +0100
+++ /var/tmp/diff_new_pack.5dVUCA/_new  2021-01-21 21:56:37.609841908 +0100
@@ -1,78 +1,3 @@
-# ---
-# ## used by gem2rpm
-# :summary: this is a custom summary
-# ## used by gem2rpm
-# :description: |-
-#   this is a custom description
-#
-#   it can be multiline
-# ## used by gem2rpm
-# :license: MIT or Ruby
-# ## used by gem2rpm and gem_packages
-# :version_suffix: -x_y
-# ## used by gem2rpm and gem_packages
-# :disable_docs: true
-# ## used by gem2rpm
-# :disable_automatic_rdoc_dep: true
-# ## used by gem2rpm
-# :preamble: |-
-#   BuildRequires: foobar
-#   Requires: foobar
-# ## used by gem2rpm
-# :patches:
-#   foo.patch: -p1
-#   bar.patch:
-# :post_patch:
-#   if you need to fiddle with the source dir before rebuilding the gem
-# ## used by gem2rpm
-# :sources:
-# - foo.desktop
-# - bar.desktop
-# :gem_install_args: '....'
-# ## used by gem2rpm
-# :pre_install: |-
-#   %if 0%{?use_system_libev}
-#   export USE_VENDORED_LIBEV="no"
-#   %endif
-# ## used by gem2rpm
-# :post_install: |-
-#   # delete custom files here or do other fancy stuff
-#   install -D -m 0644 %{S:1} %{buildroot}%{_bindir}/gem2rpm-opensuse
-# ## used by gem2rpm
-# :testsuite_command: |-
-#   (pushd %{buildroot}%{gem_base}/gems/%{mod_full_name} && rake test)
-# ## used by gem2rpm
-# :filelist: |-
-#   /usr/bin/gem2rpm-opensuse
-# ## used by gem2rpm
-# :scripts:
-#   :post: |-
-#     /bin/echo foo
-# ## used by gem_packages
-# :main:
-#   :preamble: |-
-#     Requires: util-linux
-#     Recommends: pwgen
-#   :filelist: |-
-#     /usr/bin/gem2rpm-opensuse
-# ## used by gem_packages
-# :custom_pkgs:
-#   apache:
-#     :preamble: |-
-#       Requires: .....
-#     :filelist: |-
-#       /etc/apache2/conf.d/passenger.conf
-#     :summary: Custom summary is optional
-#     :description: |-
-#       Custom description is optional
-#
-#       bar
-#     :post: |-
-#       /bin/echo foo
-#
-:sources:
-# :preamble: |-
-#     %if 0%{?suse_version} && 0%{?suse_version} < 1330
-#     %define rb_build_versions ruby22 ruby23 ruby24
-#     %define rb_default_ruby_abi ruby:2.2.0 ruby:2.3.0 ruby:2.4.0
-#     %endif
+:preamble: |-
+    %define rb_build_versions     ruby30
+    %define rb_build_ruby_abis    ruby:3.0.0

++++++ xdg-3.0.1.gem -> xdg-5.1.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/LICENSE.adoc new/LICENSE.adoc
--- old/LICENSE.adoc    1970-01-01 01:00:00.000000000 +0100
+++ new/LICENSE.adoc    2021-01-20 03:26:45.000000000 +0100
@@ -0,0 +1,162 @@
+= Apache License
+
+Version 2.0, January 2004
+
+http://www.apache.org/licenses
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+== 1. Definitions
+
+"License" shall mean the terms and conditions for use, reproduction, and 
distribution as defined by
+Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the 
copyright owner that is
+granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other 
entities that control, are
+controlled by, or are under common control with that entity. For the purposes 
of this definition,
+"control" means (i) the power, direct or indirect, to cause the direction or 
management of such
+entity, whether by contract or otherwise, or (ii) ownership of fifty percent 
(50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising 
permissions granted by this
+License.
+
+"Source" form shall mean the preferred form for making modifications, 
including but not limited to
+software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or 
translation of a
+Source form, including but not limited to compiled object code, generated 
documentation, and
+conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, 
made available under the
+License, as indicated by a copyright notice that is included in or attached to 
the work (an example
+is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that 
is based on (or
+derived from) the Work and for which the editorial revisions, annotations, 
elaborations, or other
+modifications represent, as a whole, an original work of authorship. For the 
purposes of this
+License, Derivative Works shall not include works that remain separable from, 
or merely link (or
+bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original 
version of the Work and any
+modifications or additions to that Work or Derivative Works thereof, that is 
intentionally submitted
+to Licensor for inclusion in the Work by the copyright owner or by an 
individual or Legal Entity
+authorized to submit on behalf of the copyright owner. For the purposes of 
this definition,
+"submitted" means any form of electronic, verbal, or written communication 
sent to the Licensor or
+its representatives, including but not limited to communication on electronic 
mailing lists, source
+code control systems, and issue tracking systems that are managed by, or on 
behalf of, the Licensor
+for the purpose of discussing and improving the Work, but excluding 
communication that is
+conspicuously marked or otherwise designated in writing by the copyright owner 
as "Not a
+Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf 
of whom a
+Contribution has been received by Licensor and subsequently incorporated 
within the Work.
+
+== 2. Grant of Copyright License
+
+Subject to the terms and conditions of this License, each Contributor hereby 
grants to You a
+perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
copyright license to
+reproduce, prepare Derivative Works of, publicly display, publicly perform, 
sublicense, and
+distribute the Work and such Derivative Works in Source or Object form.
+
+== 3. Grant of Patent License
+
+Subject to the terms and conditions of this License, each Contributor hereby 
grants to You a
+perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
(except as stated in this
+section) patent license to make, have made, use, offer to sell, sell, import, 
and otherwise transfer
+the Work, where such license applies only to those patent claims licensable by 
such Contributor that
+are necessarily infringed by their Contribution(s) alone or by combination of 
their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You institute 
patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit) 
alleging that the Work or
+a Contribution incorporated within the Work constitutes direct or contributory 
patent infringement,
+then any patent licenses granted to You under this License for that Work shall 
terminate as of the
+date such litigation is filed.
+
+== 4. Redistribution
+
+You may reproduce and distribute copies of the Work or Derivative Works 
thereof in any medium, with
+or without modifications, and in Source or Object form, provided that You meet 
the following
+conditions:
+
+. You must give any other recipients of the Work or Derivative Works a copy of 
this License; and
+
+. You must cause any modified files to carry prominent notices stating that 
You changed the files;
+  and
+
+. You must retain, in the Source form of any Derivative Works that You 
distribute, all copyright,
+  patent, trademark, and attribution notices from the Source form of the Work, 
excluding those
+  notices that do not pertain to any part of the Derivative Works; and
+
+. If the Work includes a "NOTICE" text file as part of its distribution, then 
any Derivative Works
+  that You distribute must include a readable copy of the attribution notices 
contained within such
+  NOTICE file, excluding those notices that do not pertain to any part of the 
Derivative Works, in
+  at least one of the following places: within a NOTICE text file distributed 
as part of the
+  Derivative Works; within the Source form or documentation, if provided along 
with the Derivative
+  Works; or, within a display generated by the Derivative Works, if and 
wherever such third-party
+  notices normally appear. The contents of the NOTICE file are for 
informational purposes only and
+  do not modify the License. You may add Your own attribution notices within 
Derivative Works that
+  You distribute, alongside or as an addendum to the NOTICE text from the 
Work, provided that such
+  additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide 
additional or
+different license terms and conditions for use, reproduction, or distribution 
of Your modifications,
+or for any such Derivative Works as a whole, provided Your use, reproduction, 
and distribution of
+the Work otherwise complies with the conditions stated in this License.
+
+== 5. Submission of Contributions
+
+Unless You explicitly state otherwise, any Contribution intentionally 
submitted for inclusion in the
+Work by You to the Licensor shall be under the terms and conditions of this 
License, without any
+additional terms or conditions. Notwithstanding the above, nothing herein 
shall supersede or modify
+the terms of any separate license agreement you may have executed with 
Licensor regarding such
+Contributions.
+
+== 6. Trademarks
+
+This License does not grant permission to use the trade names, trademarks, 
service marks, or product
+names of the Licensor, except as required for reasonable and customary use in 
describing the origin
+of the Work and reproducing the content of the NOTICE file.
+
+== 7. Disclaimer of Warranty
+
+Unless required by applicable law or agreed to in writing, Licensor provides 
the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT 
WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied, including, without limitation, any warranties 
or conditions of
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. 
You are solely
+responsible for determining the appropriateness of using or redistributing the 
Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+== 8. Limitation of Liability
+
+In no event and under no legal theory, whether in tort (including negligence), 
contract, or
+otherwise, unless required by applicable law (such as deliberate and grossly 
negligent acts) or
+agreed to in writing, shall any Contributor be liable to You for damages, 
including any direct,
+indirect, special, incidental, or consequential damages of any character 
arising as a result of this
+License or out of the use or inability to use the Work (including but not 
limited to damages for
+loss of goodwill, work stoppage, computer failure or malfunction, or any and 
all other commercial
+damages or losses), even if such Contributor has been advised of the 
possibility of such damages.
+
+== 9. Accepting Warranty or Additional Liability
+
+While redistributing the Work or Derivative Works thereof, You may choose to 
offer, and charge a fee
+for, acceptance of support, warranty, indemnity, or other liability 
obligations and/or rights
+consistent with this License. However, in accepting such obligations, You may 
act only on Your own
+behalf and on Your sole responsibility, not on behalf of any other 
Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any 
liability incurred by, or
+claims asserted against, such Contributor by reason of your accepting any such 
warranty or
+additional liability.
+
+END OF TERMS AND CONDITIONS
+
+Copyright 2019 link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke 
Kuhlmann].
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in
+compliance with the License. You may obtain a 
link:https://www.apache.org/licenses/LICENSE-2.0[copy]
+of the License.
+
+Unless required by applicable law or agreed to in writing, software 
distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
either express or
+implied. See the License for the specific language governing permissions and 
limitations under the
+License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/LICENSE.md new/LICENSE.md
--- old/LICENSE.md      2019-07-02 01:02:10.000000000 +0200
+++ new/LICENSE.md      1970-01-01 01:00:00.000000000 +0100
@@ -1,163 +0,0 @@
-# Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-## 1. Definitions
-
-"License" shall mean the terms and conditions for use, reproduction, and 
distribution as defined by
-Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the 
copyright owner that is
-granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other 
entities that control, are
-controlled by, or are under common control with that entity. For the purposes 
of this definition,
-"control" means (i) the power, direct or indirect, to cause the direction or 
management of such
-entity, whether by contract or otherwise, or (ii) ownership of fifty percent 
(50%) or more of the
-outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising 
permissions granted by this
-License.
-
-"Source" form shall mean the preferred form for making modifications, 
including but not limited to
-software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or 
translation of a
-Source form, including but not limited to compiled object code, generated 
documentation, and
-conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, 
made available under the
-License, as indicated by a copyright notice that is included in or attached to 
the work (an example
-is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that 
is based on (or
-derived from) the Work and for which the editorial revisions, annotations, 
elaborations, or other
-modifications represent, as a whole, an original work of authorship. For the 
purposes of this
-License, Derivative Works shall not include works that remain separable from, 
or merely link (or
-bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original 
version of the Work and any
-modifications or additions to that Work or Derivative Works thereof, that is 
intentionally submitted
-to Licensor for inclusion in the Work by the copyright owner or by an 
individual or Legal Entity
-authorized to submit on behalf of the copyright owner. For the purposes of 
this definition,
-"submitted" means any form of electronic, verbal, or written communication 
sent to the Licensor or
-its representatives, including but not limited to communication on electronic 
mailing lists, source
-code control systems, and issue tracking systems that are managed by, or on 
behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding 
communication that is
-conspicuously marked or otherwise designated in writing by the copyright owner 
as "Not a
-Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf 
of whom a
-Contribution has been received by Licensor and subsequently incorporated 
within the Work.
-
-## 2. Grant of Copyright License
-
-Subject to the terms and conditions of this License, each Contributor hereby 
grants to You a
-perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
copyright license to
-reproduce, prepare Derivative Works of, publicly display, publicly perform, 
sublicense, and
-distribute the Work and such Derivative Works in Source or Object form.
-
-## 3. Grant of Patent License
-
-Subject to the terms and conditions of this License, each Contributor hereby 
grants to You a
-perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
(except as stated in this
-section) patent license to make, have made, use, offer to sell, sell, import, 
and otherwise transfer
-the Work, where such license applies only to those patent claims licensable by 
such Contributor that
-are necessarily infringed by their Contribution(s) alone or by combination of 
their Contribution(s)
-with the Work to which such Contribution(s) was submitted. If You institute 
patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit) 
alleging that the Work or
-a Contribution incorporated within the Work constitutes direct or contributory 
patent infringement,
-then any patent licenses granted to You under this License for that Work shall 
terminate as of the
-date such litigation is filed.
-
-## 4. Redistribution
-
-You may reproduce and distribute copies of the Work or Derivative Works 
thereof in any medium, with
-or without modifications, and in Source or Object form, provided that You meet 
the following
-conditions:
-
-1. You must give any other recipients of the Work or Derivative Works a copy 
of this License; and
-
-2. You must cause any modified files to carry prominent notices stating that 
You changed the
-   files; and
-
-3. You must retain, in the Source form of any Derivative Works that You 
distribute, all copyright,
-   patent, trademark, and attribution notices from the Source form of the 
Work, excluding those
-   notices that do not pertain to any part of the Derivative Works; and
-
-4. If the Work includes a "NOTICE" text file as part of its distribution, then 
any Derivative
-   Works that You distribute must include a readable copy of the attribution 
notices contained
-   within such NOTICE file, excluding those notices that do not pertain to any 
part of the
-   Derivative Works, in at least one of the following places: within a NOTICE 
text file
-   distributed as part of the Derivative Works; within the Source form or 
documentation, if
-   provided along with the Derivative Works; or, within a display generated by 
the Derivative
-   Works, if and wherever such third-party notices normally appear. The 
contents of the NOTICE
-   file are for informational purposes only and do not modify the License. You 
may add Your own
-   attribution notices within Derivative Works that You distribute, alongside 
or as an addendum to
-   the NOTICE text from the Work, provided that such additional attribution 
notices cannot be
-   construed as modifying the License.
-
-You may add Your own copyright statement to Your modifications and may provide 
additional or
-different license terms and conditions for use, reproduction, or distribution 
of Your modifications,
-or for any such Derivative Works as a whole, provided Your use, reproduction, 
and distribution of
-the Work otherwise complies with the conditions stated in this License.
-
-## 5. Submission of Contributions
-
-Unless You explicitly state otherwise, any Contribution intentionally 
submitted for inclusion in the
-Work by You to the Licensor shall be under the terms and conditions of this 
License, without any
-additional terms or conditions. Notwithstanding the above, nothing herein 
shall supersede or modify
-the terms of any separate license agreement you may have executed with 
Licensor regarding such
-Contributions.
-
-## 6. Trademarks
-
-This License does not grant permission to use the trade names, trademarks, 
service marks, or product
-names of the Licensor, except as required for reasonable and customary use in 
describing the origin
-of the Work and reproducing the content of the NOTICE file.
-
-## 7. Disclaimer of Warranty
-
-Unless required by applicable law or agreed to in writing, Licensor provides 
the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT 
WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied, including, without limitation, any warranties 
or conditions of
-TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. 
You are solely
-responsible for determining the appropriateness of using or redistributing the 
Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-## 8. Limitation of Liability
-
-In no event and under no legal theory, whether in tort (including negligence), 
contract, or
-otherwise, unless required by applicable law (such as deliberate and grossly 
negligent acts) or
-agreed to in writing, shall any Contributor be liable to You for damages, 
including any direct,
-indirect, special, incidental, or consequential damages of any character 
arising as a result of this
-License or out of the use or inability to use the Work (including but not 
limited to damages for
-loss of goodwill, work stoppage, computer failure or malfunction, or any and 
all other commercial
-damages or losses), even if such Contributor has been advised of the 
possibility of such damages.
-
-## 9. Accepting Warranty or Additional Liability
-
-While redistributing the Work or Derivative Works thereof, You may choose to 
offer, and charge a fee
-for, acceptance of support, warranty, indemnity, or other liability 
obligations and/or rights
-consistent with this License. However, in accepting such obligations, You may 
act only on Your own
-behalf and on Your sole responsibility, not on behalf of any other 
Contributor, and only if You
-agree to indemnify, defend, and hold each Contributor harmless for any 
liability incurred by, or
-claims asserted against, such Contributor by reason of your accepting any such 
warranty or
-additional liability.
-
-END OF TERMS AND CONDITIONS
-
-Copyright 2019 [Alchemists](https://www.alchemists.io).
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in
-compliance with the License. You may obtain a 
[copy](http://www.apache.org/licenses/LICENSE-2.0) of
-the License.
-
-Unless required by applicable law or agreed to in writing, software 
distributed under the License is
-distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
either express or
-implied. See the License for the specific language governing permissions and 
limitations under the
-License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.adoc new/README.adoc
--- old/README.adoc     1970-01-01 01:00:00.000000000 +0100
+++ new/README.adoc     2021-01-20 03:26:45.000000000 +0100
@@ -0,0 +1,298 @@
+:toc: macro
+:toclevels: 5
+:figure-caption!:
+
+= XDG
+
+[link=http://badge.fury.io/rb/xdg]
+image::https://badge.fury.io/rb/xdg.svg[Gem Version]
+[link=https://www.alchemists.io/projects/code_quality]
+image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchemists
 Style Guide]
+[link=https://circleci.com/gh/bkuhlmann/xdg]
+image::https://circleci.com/gh/bkuhlmann/xdg.svg?style=svg[Circle CI Status]
+
+Provides a Ruby implementation of the
+https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG
 Base Directory
+Specification].
+
+???? If you write a lot of Command Line Interfaces and would like additional 
syntactic sugar that
+includes what is found in this gem, make sure to check out the
+link:https://www.alchemists.io/projects/runcom[Runcom] gem too.
+
+toc::[]
+
+== Features
+
+* Provides a `XDG::Environment` object that adheres to the _XDG Base Directory 
Specification_ with
+access to the following environment settings:
+** `$XDG_CACHE_HOME`
+** `$XDG_CONFIG_HOME`
+** `$XDG_CONFIG_DIRS`
+** `$XDG_DATA_HOME`
+** `$XDG_DATA_DIRS`
+
+== Requirements
+
+. https://www.ruby-lang.org[Ruby]
+
+== Setup
+
+To install, run:
+
+[source,bash]
+----
+gem install xdg
+----
+
+Add the following to your Gemfile:
+
+[source,ruby]
+----
+gem "xdg"
+----
+
+== Usage
+
+The following describes how to use this XDG implementation.
+
+=== Overview
+
+To get up and running quickly, use `+XDG::Environment+` as follows:
+
+[source,ruby]
+----
+xdg = XDG::Environment.new
+xdg.cache_home # <= Answers computed `$XDG_CACHE_HOME` value.
+xdg.config_home # <= Answers computed `$XDG_CONFIG_HOME` value.
+xdg.config_dirs # <= Answers computed `$XDG_CONFIG_DIRS` value.
+xdg.data_home # <= Answers computed `$XDG_DATA_HOME` value.
+xdg.data_dirs # <= Answers computed `$XDG_DATA_DIRS` value.
+----
+
+The _computed_ value, in this case, is either the user-defined value of the 
key or the default
+value, per specification, when the key is not defined or empty. For more on 
this, scroll down to the
+_Variable Defaults_ section to learn more.
+
+The `XDG::Environment` wraps the following objects which can be used 
individually if you don???t
+want to load the entire environment:
+
+[source,ruby]
+----
+cache = XDG::Cache.new
+config = XDG::Config.new
+data = XDG::Data.new
+----
+
+The `cache`, `config`, and `data` objects share the same API which means you 
can ask each the
+following messages:
+
+* `#home` - Answers the home directory as computed via the `$XDG_*_HOME` key.
+* `#directories` - Answers an array directories as computed via the 
`$XDG_*_DIRS` key.
+* `#all` - Answers an array of _all_ directories as computed from the combined 
`$XDG_*_HOME` and
+  `$XDG_*_DIRS` values (with `$XDG_*_HOME` prefixed at the start of the array).
+
+=== Examples
+
+The following are examples of what you would see when playing around with the 
XDG objects within an
+IRB console (taken from my own environment):
+
+[source,ruby]
+----
+require "xdg"
+
+# Initialization
+environment = XDG::Environment.new
+cache = XDG::Cache.new
+config = XDG::Config.new
+data = XDG::Data.new
+
+# Inspection
+environment.inspect # => XDG_CACHE_HOME=/Users/bkuhlmann/.cache 
XDG_CONFIG_HOME=/Users/bkuhlmann/.config XDG_CONFIG_DIRS=/etc/xdg 
XDG_DATA_HOME=/Users/bkuhlmann/.local/share 
XDG_DATA_DIRS=/usr/local/share:/usr/share
+cache.inspect # => "XDG_CACHE_HOME=/Users/bkuhlmann/.cache"
+config.inspect # => "XDG_CONFIG_HOME=/Users/bkuhlmann/.config 
XDG_CONFIG_DIRS=/etc/xdg"
+data.inspect # => "XDG_DATA_HOME=/Users/bkuhlmann/.local/share 
XDG_DATA_DIRS=/usr/local/share:/usr/share"
+
+# Paths
+environment.cache_home # => #<Pathname:/Users/bkuhlmann/.cache>
+environment.config_home # => #<Pathname:/Users/bkuhlmann/.config>
+environment.config_dirs # => [#<Pathname:/etc/xdg>]
+environment.data_home # => #<Pathname:/Users/bkuhlmann/.local/share>
+environment.data_dirs # => [#<Pathname:/usr/local/share>, 
#<Pathname:/usr/share>]
+
+cache.home # => #<Pathname:/Users/bkuhlmann/.cache>
+cache.directories # => []
+cache.all # => [#<Pathname:/Users/bkuhlmann/.cache>]
+
+config.home # => #<Pathname:/Users/bkuhlmann/.config>
+config.directories # => [#<Pathname:/etc/xdg>]
+config.all # => [#<Pathname:/Users/bkuhlmann/.config>, #<Pathname:/etc/xdg>]
+
+data.home # => #<Pathname:/Users/bkuhlmann/.local/share>
+data.directories # => [#<Pathname:/usr/local/share>, #<Pathname:/usr/share>]
+data.all # => [#<Pathname:/Users/bkuhlmann/.local/share>, 
#<Pathname:/usr/local/share>, #<Pathname:/usr/share>]
+----
+
+As you can see from above, each XDG object answers back a `Pathname` which 
means you have the full
+`Pathname` API at your fingertips to build upon the output of these objects as 
needed.
+
+=== Variable Defaults
+
+The _XDG Base Directory Specification_ defines environment variables and 
associated default values
+when not defined or empty. The following defaults, per specification, are 
implemented by the `XDG`
+objects:
+
+* `$XDG_CACHE_HOME="$HOME/.cache"`
+* `$XDG_CONFIG_HOME="$HOME/.config"`
+* `$XDG_CONFIG_DIRS="/etc/xdg"`
+* `$XDG_DATA_HOME="$HOME/.local/share"`
+* `$XDG_DATA_DIRS="/usr/local/share/:/usr/share/"`
+* `$XDG_RUNTIME_DIR`
+
+The `$XDG_RUNTIME_DIR` deserves special mention as it???s not, _currently_, 
implemented as part of
+this gem because it is more user/environment specific. Here is how the 
`$XDG_RUNTIME_DIR` is meant
+to be used should you choose to use it:
+
+* _Must_ reference user-specific non-essential runtime files and other file 
objects (such as
+sockets, named pipes, etc.)
+* _Must_ be owned by the user with _only_ the user having read and write 
access to it.
+* _Must_ have a Unix access mode of `0700`.
+* _Must_ be bound to the user when logging in.
+* _Must_ be removed when the user logs out.
+* _Must_ be pointed to the same directory when the user logs in more than once.
+* _Must_ exist from first login to last logout on the system and not removed 
in between.
+* _Must_ not allow files in the directory to survive reboot or a full 
logout/login cycle.
+* _Must_ keep the directory on the local file system and not shared with any 
other file systems.
+* _Must_ keep the directory fully-featured by the standards of the operating 
system. Specifically,
+on Unix-like operating systems AF_UNIX sockets, symbolic links, hard links, 
proper permissions, file
+locking, sparse files, memory mapping, file change notifications, a reliable 
hard link count must be
+supported, and no restrictions on the file name character set should be 
imposed. Files in this
+directory _may_ be subjected to periodic clean-up. To ensure files are not 
removed, they should have
+their access time timestamp modified at least once every 6 hours of monotonic 
time or the '`sticky`'
+bit should be set on the file.
+* When not set, applications should fall back to a replacement directory with 
similar capabilities
+and print a warning message. Applications should use this directory for 
communication and
+synchronization purposes and should not place larger files in it, since it 
might reside in runtime
+memory and cannot necessarily be swapped out to disk.
+
+=== Variable Behavior
+
+The behavior of most XDG environment variables can be lumped into two 
categories:
+
+* `$XDG_*_HOME`
+* `$XDG_*_DIRS`
+
+Each is described in detail below.
+
+==== `$XDG_*_DIRS`
+
+These variables are used to define a colon (`:`) delimited list of 
directories. Order is important
+as the first directory defined will take precedent over the following 
directory and so forth. For
+example, here is a situation where the `XDG_CONFIG_DIRS` key has a custom 
value:
+
+[source,bash]
+----
+XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings:/example/three/.configuration"
+----
+
+Yields the following, colon delimited, array:
+
+[source,ruby]
+----
+[
+  "/example/one/.config",
+  "/example/two/.settings",
+  "/example/three/.configuration"
+]
+----
+
+In the above example, the `"/example/one/.config"` path takes _highest_ 
priority since it was
+defined first.
+
+==== `$XDG_*_HOME`
+
+These variables take precidence over the corresponding `$XDG_*_DIRS` 
environment variables. Using
+a modified version of the `$XDG_*_DIRS` example, shown above, we could have 
the following setup:
+
+[source,bash]
+----
+XDG_CONFIG_HOME="/example/priority"
+XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings"
+----
+
+Yields the following, colon delimited, array:
+
+[source,ruby]
+----
+[
+  "/example/priority",
+  "/example/one/.config",
+  "/example/two/.settings"
+]
+----
+
+Due to `XDG_CONFIG_HOME` taking precidence over the `XDG_CONFIG_DIRS`, the 
path with the
+_highest_ priority in this example is: `"/example/priority"`.
+
+=== Variable Priority
+
+Path precedence is determined in the following order (with the first taking 
highest priority):
+
+. `$XDG_*_HOME` - Will be used if defined. Otherwise, falls back to 
specification default.
+. `$XDG_*_DIRS` - Iterates through directories in order defined (with first 
taking highest
+  priority). Otherwise, falls back to specification default.
+
+== Development
+
+To contribute, run:
+
+[source,bash]
+----
+git clone https://github.com/bkuhlmann/xdg.git
+cd xdg
+bin/setup
+----
+
+You can also use the IRB console for direct access to all objects:
+
+[source,bash]
+----
+bin/console
+----
+
+== Tests
+
+To test, run:
+
+[source,bash]
+----
+bundle exec rake
+----
+
+== Versioning
+
+Read link:https://semver.org[Semantic Versioning] for details. Briefly, it 
means:
+
+* Major (X.y.z) - Incremented for any backwards incompatible public API 
changes.
+* Minor (x.Y.z) - Incremented for new, backwards compatible, public API 
enhancements/fixes.
+* Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
+
+== Code of Conduct
+
+Please note that this project is released with a 
link:CODE_OF_CONDUCT.adoc[CODE OF CONDUCT]. By
+participating in this project you agree to abide by its terms.
+
+== Contributions
+
+Read link:CONTRIBUTING.adoc[CONTRIBUTING] for details.
+
+== License
+
+Read link:LICENSE.adoc[LICENSE] for details.
+
+== History
+
+Read link:CHANGES.adoc[CHANGES] for details.
+
+== Credits
+
+Engineered by link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke 
Kuhlmann].
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2019-07-02 01:02:10.000000000 +0200
+++ new/README.md       1970-01-01 01:00:00.000000000 +0100
@@ -1,229 +0,0 @@
-<p align="center">
-  <img src="xdg.png" alt="XDG Icon"/>
-</p>
-
-# XDG
-
-[![Gem Version](https://badge.fury.io/rb/xdg.svg)](http://badge.fury.io/rb/xdg)
-[![Code Climate 
Maintainability](https://api.codeclimate.com/v1/badges/73c8f06ae65cbe663e1c/maintainability)](https://codeclimate.com/github/bkuhlmann/xdg/maintainability)
-[![Code Climate Test 
Coverage](https://api.codeclimate.com/v1/badges/73c8f06ae65cbe663e1c/test_coverage)](https://codeclimate.com/github/bkuhlmann/xdg/test_coverage)
-[![Circle CI 
Status](https://circleci.com/gh/bkuhlmann/xdg.svg?style=svg)](https://circleci.com/gh/bkuhlmann/xdg)
-
-Provides a Ruby implementation of the [XDG Base Directory
-Specification](https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html).
-
-:bulb: If you write a lot of Command Line Interfaces and would like additional 
syntactic
-sugar that includes what is found in this gem, make sure to check out the
-[Runcom](https://github.com/bkuhlmann/runcom) gem too.
-
-<!-- Tocer[start]: Auto-generated, don't remove. -->
-
-## Table of Contents
-
-  - [Features](#features)
-  - [Requirements](#requirements)
-  - [Setup](#setup)
-  - [Usage](#usage)
-      - [Overview](#overview)
-      - [Variable Defaults](#variable-defaults)
-      - [Variable Behavior](#variable-behavior)
-        - [`$XDG_*_DIRS`](#xdg__dirs)
-        - [`$XDG_*_HOME`](#xdg__home)
-      - [Variable Priority](#variable-priority)
-  - [Tests](#tests)
-  - [Versioning](#versioning)
-  - [Code of Conduct](#code-of-conduct)
-  - [Contributions](#contributions)
-  - [License](#license)
-  - [History](#history)
-  - [Credits](#credits)
-
-<!-- Tocer[finish]: Auto-generated, don't remove. -->
-
-## Features
-
-- Provides a `XDG::Environment` object that adheres to the *XDG Base Directory 
Specification* with
-  access to the following environment settings:
-  - `$XDG_CACHE_HOME`
-  - `$XDG_CONFIG_HOME`
-  - `$XDG_CONFIG_DIRS`
-  - `$XDG_DATA_HOME`
-  - `$XDG_DATA_DIRS`
-
-## Requirements
-
-1. [Ruby 2.6.3](https://www.ruby-lang.org)
-
-## Setup
-
-To install, run:
-
-    gem install xdg
-
-Add the following to your Gemfile:
-
-    gem "xdg"
-
-## Usage
-
-The following describes how to use this XDG implementation.
-
-#### Overview
-
-To get up and running quickly, use `XDG::Environment` as follows:
-
-    xdg = XDG::Environment.new
-    xdg.cache_home # <= Answers computed `$XDG_CACHE_HOME` value.
-    xdg.config_home # <= Answers computed `$XDG_CONFIG_HOME` value.
-    xdg.config_dirs # <= Answers computed `$XDG_CONFIG_DIRS` value.
-    xdg.data_home # <= Answers computed `$XDG_DATA_HOME` value.
-    xdg.data_dirs # <= Answers computed `$XDG_DATA_DIRS` value.
-
-The *computed* value, in this case, is either the user-defined value of the 
key or the default
-value, per specification, when the key is not defined or empty. For more on 
this, scroll down to the
-*Variable Defaults* section to learn more.
-
-The `XDG::Environment` wraps the following objects which can be used 
individually if you
-don't want to load the entire environment:
-
-    cache = XDG::Cache.new
-    config = XDG::Config.new
-    data = XDG::Data.new
-
-The `cache`, `config`, and `data` objects share the same API which means you 
can ask each the
-following messages:
-
-- `#home` - Answers the home directory as computed via the `$XDG_*_HOME` key.
-- `#directories` - Answers an array directories as computed via the 
`$XDG_*_DIRS` key.
-- `#all` - Answers an array of *all* directories as computed from the combined 
`$XDG_*_HOME` and
-  `$XDG_*_DIRS` values (with `$XDG_*_HOME` prefixed at the start of the array).
-
-#### Variable Defaults
-
-The *XDG Base Directory Specification* defines environment variables and 
associated default values
-when not defined or empty. The following defaults, per specification, are 
implemented by the
-`XDG` objects:
-
-- `$XDG_CACHE_HOME="$HOME/.cache"`
-- `$XDG_CONFIG_HOME="$HOME/.config"`
-- `$XDG_CONFIG_DIRS="/etc/xdg"`
-- `$XDG_DATA_HOME="$HOME/.local/share"`
-- `$XDG_DATA_DIRS="/usr/local/share/:/usr/share/"`
-- `$XDG_RUNTIME_DIR`
-
-The `$XDG_RUNTIME_DIR` deserves special mention as it's not, *currently*, 
implemented as part of
-this gem because it is more user/environment specific. Here is how the 
`$XDG_RUNTIME_DIR` is meant
-to be used should you choose to use it:
-
-- *Must* reference user-specific non-essential runtime files and other file 
objects (such as
-  sockets, named pipes, etc.)
-- *Must* be owned by the user with *only* the user having read and write 
access to it.
-- *Must* have a Unix access mode of `0700`.
-- *Must* be bound to the user when logging in.
-- *Must* be removed when the user logs out.
-- *Must* be pointed to the same directory when the user logs in more than once.
-- *Must* exist from first login to last logout on the system and not removed 
in between.
-- *Must* not allow files in the directory to survive reboot or a full 
logout/login cycle.
-- *Must* keep the directory on the local file system and not shared with any 
other file systems.
-- *Must* keep the directory fully-featured by the standards of the operating 
system. Specifically,
-  on Unix-like operating systems AF_UNIX sockets, symbolic links, hard links, 
proper permissions,
-  file locking, sparse files, memory mapping, file change notifications, a 
reliable hard link count
-  must be supported, and no restrictions on the file name character set should 
be imposed. Files in
-  this directory *may* be subjected to periodic clean-up. To ensure files are 
not removed,
-  they should have their access time timestamp modified at least once every 6 
hours of monotonic
-  time or the 'sticky' bit should be set on the file.
-- When not set, applications should fall back to a replacement directory with 
similar capabilities
-  and print a warning message. Applications should use this directory for 
communication and
-  synchronization purposes and should not place larger files in it, since it 
might reside in runtime
-  memory and cannot necessarily be swapped out to disk.
-
-#### Variable Behavior
-
-The behavior of most XDG environment variables can be lumped into two 
categories:
-
-- `$XDG_*_HOME`
-- `$XDG_*_DIRS`
-
-Each is described in detail below.
-
-##### `$XDG_*_DIRS`
-
-These variables are used to define a colon (`:`) delimited list of 
directories. Order is important
-as the first directory defined will take precedent over the following 
directory and so forth. For
-example, here is a situation where the `XDG_CONFIG_DIRS` key has a custom 
value:
-
-    
XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings:/example/three/.configuration"
-
-    # Yields the following, colon delimited, array:
-    [
-      "/example/one/.config",
-      "/example/two/.settings",
-      "/example/three/.configuration"
-    ]
-
-In the above example, the `"/example/one/.config"` path takes *highest* 
priority since it was
-defined first.
-
-##### `$XDG_*_HOME`
-
-These variables take precidence over the corresponding `$XDG_*_DIRS` 
environment variables. Using a
-modified version of the `$XDG_*_DIRS` example, shown above, we could have the 
following setup:
-
-    XDG_CONFIG_HOME="/example/priority"
-    XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings"
-
-    # Yields the following, colon delimited, array:
-    [
-      "/example/priority",
-      "/example/one/.config",
-      "/example/two/.settings"
-    ]
-
-Due to `XDG_CONFIG_HOME` taking precidence over the `XDG_CONFIG_DIRS`, the 
path with the *highest*
-priority in this example is: `"/example/priority"`.
-
-#### Variable Priority
-
-Path precedence is determined in the following order (with the first taking 
highest priority):
-
-1. `$XDG_*_HOME` - Will be used if defined. Otherwise, falls back to 
specification default.
-1. `$XDG_*_DIRS` - Iterates through directories in order defined (with first 
taking highest
-   priority). Otherwise, falls back to specification default.
-
-## Tests
-
-To test, run:
-
-    bundle exec rake
-
-## Versioning
-
-Read [Semantic Versioning](https://semver.org) for details. Briefly, it means:
-
-- Major (X.y.z) - Incremented for any backwards incompatible public API 
changes.
-- Minor (x.Y.z) - Incremented for new, backwards compatible, public API 
enhancements/fixes.
-- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
-
-## Code of Conduct
-
-Please note that this project is released with a [CODE OF 
CONDUCT](CODE_OF_CONDUCT.md). By
-participating in this project you agree to abide by its terms.
-
-## Contributions
-
-Read [CONTRIBUTING](CONTRIBUTING.md) for details.
-
-## License
-
-Copyright 2019 [Alchemists](https://www.alchemists.io).
-Read [LICENSE](LICENSE.md) for details.
-
-## History
-
-Read [CHANGES](CHANGES.md) for details.
-Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
-
-## Credits
-
-Developed by [Brooke Kuhlmann](https://www.alchemists.io) at
-[Alchemists](https://www.alchemists.io).
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ
Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/cache.rb new/lib/xdg/cache.rb
--- old/lib/xdg/cache.rb        2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/cache.rb        2021-01-20 03:26:45.000000000 +0100
@@ -6,11 +6,11 @@
   class Cache
     extend Forwardable
 
-    HOME_PAIR = Pair.new("XDG_CACHE_HOME", ".cache").freeze
+    HOME_PAIR = Pair["XDG_CACHE_HOME", ".cache"].freeze
 
-    delegate %i[home directories all] => :combined
+    delegate %i[home directories all inspect] => :combined
 
-    def initialize home: Paths::Standard, directories: Paths::Directory, 
environment: ENV
+    def initialize home: Paths::Home, directories: Paths::Directory, 
environment: ENV
       @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
                                       directories.new(Pair.new, environment)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/config.rb new/lib/xdg/config.rb
--- old/lib/xdg/config.rb       2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/config.rb       2021-01-20 03:26:45.000000000 +0100
@@ -6,12 +6,12 @@
   class Config
     extend Forwardable
 
-    HOME_PAIR = Pair.new("XDG_CONFIG_HOME", ".config").freeze
-    DIRS_PAIR = Pair.new("XDG_CONFIG_DIRS", "/etc/xdg").freeze
+    HOME_PAIR = Pair["XDG_CONFIG_HOME", ".config"].freeze
+    DIRS_PAIR = Pair["XDG_CONFIG_DIRS", "/etc/xdg"].freeze
 
-    delegate %i[home directories all] => :combined
+    delegate %i[home directories all inspect] => :combined
 
-    def initialize home: Paths::Standard, directories: Paths::Directory, 
environment: ENV
+    def initialize home: Paths::Home, directories: Paths::Directory, 
environment: ENV
       @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
                                       directories.new(DIRS_PAIR, environment)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/data.rb new/lib/xdg/data.rb
--- old/lib/xdg/data.rb 2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/data.rb 2021-01-20 03:26:45.000000000 +0100
@@ -6,12 +6,12 @@
   class Data
     extend Forwardable
 
-    HOME_PAIR = Pair.new("XDG_DATA_HOME", ".local/share").freeze
-    DIRS_PAIR = Pair.new("XDG_DATA_DIRS", "/usr/local/share:/usr/share").freeze
+    HOME_PAIR = Pair["XDG_DATA_HOME", ".local/share"].freeze
+    DIRS_PAIR = Pair["XDG_DATA_DIRS", "/usr/local/share:/usr/share"].freeze
 
-    delegate %i[home directories all] => :combined
+    delegate %i[home directories all inspect] => :combined
 
-    def initialize home: Paths::Standard, directories: Paths::Directory, 
environment: ENV
+    def initialize home: Paths::Home, directories: Paths::Directory, 
environment: ENV
       @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
                                       directories.new(DIRS_PAIR, environment)
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/environment.rb new/lib/xdg/environment.rb
--- old/lib/xdg/environment.rb  2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/environment.rb  2021-01-20 03:26:45.000000000 +0100
@@ -2,7 +2,7 @@
 
 module XDG
   class Environment
-    def initialize home: Paths::Standard, directories: Paths::Directory, 
environment: ENV
+    def initialize home: Paths::Home, directories: Paths::Directory, 
environment: ENV
       @cache = Cache.new home: home, directories: directories, environment: 
environment
       @config = Config.new home: home, directories: directories, environment: 
environment
       @data = Data.new home: home, directories: directories, environment: 
environment
@@ -28,6 +28,10 @@
       data.directories
     end
 
+    def inspect
+      "#{cache.inspect} #{config.inspect} #{data.inspect}"
+    end
+
     private
 
     attr_reader :cache, :config, :data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/identity.rb new/lib/xdg/identity.rb
--- old/lib/xdg/identity.rb     2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/identity.rb     2021-01-20 03:26:45.000000000 +0100
@@ -3,20 +3,9 @@
 module XDG
   # Gem identity information.
   module Identity
-    def self.name
-      "xdg"
-    end
-
-    def self.label
-      "XDG"
-    end
-
-    def self.version
-      "3.0.1"
-    end
-
-    def self.version_label
-      "#{label} #{version}"
-    end
+    NAME = "xdg"
+    LABEL = "XDG"
+    VERSION = "5.1.0"
+    VERSION_LABEL = "#{LABEL} #{VERSION}"
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/pair.rb new/lib/xdg/pair.rb
--- old/lib/xdg/pair.rb 2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/pair.rb 2021-01-20 03:26:45.000000000 +0100
@@ -1,10 +1,30 @@
 # frozen_string_literal: true
 
 module XDG
+  PAIR_DELIMITER = "="
+
   # A generic key-value pair (KVP).
   Pair = Struct.new :key, :value do
     def to_env
       Hash[*values]
     end
+
+    def key?
+      key.to_s.size.positive?
+    end
+
+    def value?
+      value.to_s.size.positive?
+    end
+
+    def empty?
+      !(key? && value?)
+    end
+
+    def inspect
+      return "" unless key? || value?
+
+      "#{key}#{PAIR_DELIMITER}#{value}"
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/paths/combined.rb 
new/lib/xdg/paths/combined.rb
--- old/lib/xdg/paths/combined.rb       2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/paths/combined.rb       2021-01-20 03:26:45.000000000 +0100
@@ -23,6 +23,10 @@
         directories.prepend home
       end
 
+      def inspect
+        [initial_home.inspect, 
initial_directories.inspect].reject(&:empty?).join " "
+      end
+
       private
 
       attr_reader :initial_home, :initial_directories
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/paths/directory.rb 
new/lib/xdg/paths/directory.rb
--- old/lib/xdg/paths/directory.rb      2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/paths/directory.rb      2021-01-20 03:26:45.000000000 +0100
@@ -14,18 +14,29 @@
       end
 
       def default
-        paths.split(DELIMITER).map(&method(:expand))
+        value.split(DELIMITER).map { |path| expand path }
       end
 
       def dynamic
-        environment.fetch(pair.key, 
paths).split(DELIMITER).uniq.map(&method(:expand))
+        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::PAIR_DELIMITER
       end
 
       private
 
       attr_reader :pair, :environment
 
-      def paths
+      def key
+        String pair.key
+      end
+
+      def value
         String pair.value
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/paths/home.rb new/lib/xdg/paths/home.rb
--- old/lib/xdg/paths/home.rb   1970-01-01 01:00:00.000000000 +0100
+++ new/lib/xdg/paths/home.rb   2021-01-20 03:26:45.000000000 +0100
@@ -0,0 +1,46 @@
+# frozen_string_literal: true
+
+require "forwardable"
+require "pathname"
+
+module XDG
+  module Paths
+    # A XDG home path.
+    class Home
+      extend Forwardable
+
+      KEY = "HOME"
+
+      delegate %i[key value] => :pair
+
+      def initialize pair, environment = ENV
+        @pair = pair
+        @environment = environment
+      end
+
+      def default
+        expand String(value)
+      end
+
+      def dynamic
+        String(environment[key]).then { |path| path.empty? ? default : 
expand(path) }
+      end
+
+      def inspect
+        [pair.key, dynamic].compact.join XDG::PAIR_DELIMITER
+      end
+
+      private
+
+      attr_reader :pair, :environment
+
+      def expand path
+        home.join(path).expand_path
+      end
+
+      def home
+        Pathname environment.fetch(KEY)
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg/paths/standard.rb 
new/lib/xdg/paths/standard.rb
--- old/lib/xdg/paths/standard.rb       2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg/paths/standard.rb       1970-01-01 01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-# frozen_string_literal: true
-
-require "forwardable"
-require "pathname"
-
-module XDG
-  module Paths
-    # A XDG home path.
-    class Standard
-      extend Forwardable
-
-      HOME_KEY = "HOME"
-
-      delegate %i[key value] => :pair
-
-      def initialize pair, environment = ENV
-        @pair = pair
-        @environment = environment
-      end
-
-      def default
-        expand_home_for String(value)
-      end
-
-      def dynamic
-        String(environment[key]).then { |path| path.empty? ? default : 
expand_home_for(path) }
-      end
-
-      private
-
-      attr_reader :pair, :environment
-
-      def home
-        Pathname environment.fetch(HOME_KEY)
-      end
-
-      def expand_home_for path
-        home.join(path).expand_path
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/xdg.rb new/lib/xdg.rb
--- old/lib/xdg.rb      2019-07-02 01:02:10.000000000 +0200
+++ new/lib/xdg.rb      2021-01-20 03:26:45.000000000 +0100
@@ -2,7 +2,7 @@
 
 require "xdg/identity"
 require "xdg/pair"
-require "xdg/paths/standard"
+require "xdg/paths/home"
 require "xdg/paths/directory"
 require "xdg/paths/combined"
 require "xdg/config"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2019-07-02 01:02:10.000000000 +0200
+++ new/metadata        2021-01-20 03:26:45.000000000 +0100
@@ -1,18 +1,18 @@
 --- !ruby/object:Gem::Specification
 name: xdg
 version: !ruby/object:Gem::Version
-  version: 3.0.1
+  version: 5.1.0
 platform: ruby
 authors:
 - Brooke Kuhlmann
-autorequire: 
+autorequire:
 bindir: bin
 cert_chain:
 - |
   -----BEGIN CERTIFICATE-----
-  MIIC/jCCAeagAwIBAgIBAjANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
-  a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0xOTAyMTcxNjAxMTFaFw0yMDAyMTcx
-  NjAxMTFaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
+  MIIC/jCCAeagAwIBAgIBAzANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
+  a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMDAzMTUxNDQ1MzJaFw0yMTAzMTUx
+  NDQ1MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
   IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
   xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
   brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
@@ -20,209 +20,27 @@
   D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
   3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
   AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
-  2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBANgfX7kPZkJvsbdWMvbe
-  DUUYxRTqTUzCDpLd2p3sQvgLMKjTNSKt6CFq/kh+98b6RCgO6DqiVfxvOEq02dvf
-  ebMN/ylQqan2FgiAs1rpP0/D4C0MlBjoDktsT+2IyLol1KmkDB20ExJ4Sf1GRNdA
-  hpWOtcgqHtmrc7xzgB6BuyoYufrKKUlCO3ewTM4C375D2qO7hIdKuMOO3CdPMtSk
-  OrWpbzCL+nbbXqeoqiHgZaUvcyyQrGj5sQRxMTzuMXzzQxtHnuTuKrcz16HMTX/O
-  dKvURM+1PwDCzC5tvRwjhUJIizau6+MtkFCvJHmaAj1aZL3odcPejHj5Hxt/0CUW
-  y84=
+  2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAIHhAlD3po4sTYqacXaQ
+  XI9jIhrfMy//2PgbHWcETtlJPBeNUbbSNBABcllUHKqYsVDlSvSmss034KSWNR8F
+  bF1GcloicyvcCC4y6IoW4it0COAcdeaaxkxiBSgKdQFpff9REnDlIKK4uQ9lLxIo
+  Y2G5xubiziKZkyfWFuSr67PIjW3Bu673D1JVBArhA1qbgQmYQcy1CkGOjo+iO8Nf
+  7u/QSfBHb+r/bXhKscDgPpnKwbUmvgO2+94zJG9KsrmIydlzYfsD09aXKx0t6Xy4
+  2XV8FRa7/JimI07sPLC13eLY3xd/aYTi85Z782KIA4j0G8XEEWAX0ouBhlXPocZv
+  QWc=
   -----END CERTIFICATE-----
-date: 2019-07-01 00:00:00.000000000 Z
-dependencies:
-- !ruby/object:Gem::Dependency
-  name: bundler-audit
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.6'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.6'
-- !ruby/object:Gem::Dependency
-  name: gemsmith
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '13.5'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '13.5'
-- !ruby/object:Gem::Dependency
-  name: git-cop
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.5'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.5'
-- !ruby/object:Gem::Dependency
-  name: guard-rspec
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '4.7'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '4.7'
-- !ruby/object:Gem::Dependency
-  name: pry
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.10'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.10'
-- !ruby/object:Gem::Dependency
-  name: pry-byebug
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.5'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.5'
-- !ruby/object:Gem::Dependency
-  name: rake
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '12.3'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '12.3'
-- !ruby/object:Gem::Dependency
-  name: reek
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '5.4'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '5.4'
-- !ruby/object:Gem::Dependency
-  name: rspec
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.8'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.8'
-- !ruby/object:Gem::Dependency
-  name: rubocop
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.69'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.69'
-- !ruby/object:Gem::Dependency
-  name: rubocop-performance
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.4'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.4'
-- !ruby/object:Gem::Dependency
-  name: rubocop-rspec
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.33'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.33'
-- !ruby/object:Gem::Dependency
-  name: simplecov
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.13'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.13'
-description: 
+date: 2021-01-20 00:00:00.000000000 Z
+dependencies: []
+description:
 email:
 - [email protected]
 executables: []
 extensions: []
 extra_rdoc_files:
-- README.md
-- LICENSE.md
+- README.adoc
+- LICENSE.adoc
 files:
-- LICENSE.md
-- README.md
+- LICENSE.adoc
+- README.adoc
 - lib/xdg.rb
 - lib/xdg/cache.rb
 - lib/xdg/config.rb
@@ -232,15 +50,16 @@
 - lib/xdg/pair.rb
 - lib/xdg/paths/combined.rb
 - lib/xdg/paths/directory.rb
-- lib/xdg/paths/standard.rb
-homepage: https://github.com/bkuhlmann/xdg
+- lib/xdg/paths/home.rb
+homepage: https://www.alchemists.io/projects/xdg
 licenses:
 - Apache-2.0
 metadata:
-  source_code_uri: https://github.com/bkuhlmann/xdg
-  changelog_uri: https://github.com/bkuhlmann/xdg/blob/master/CHANGES.md
   bug_tracker_uri: https://github.com/bkuhlmann/xdg/issues
-post_install_message: 
+  changelog_uri: https://www.alchemists.io/projects/xdg/changes.html
+  documentation_uri: https://www.alchemists.io/projects/xdg
+  source_code_uri: https://github.com/bkuhlmann/xdg
+post_install_message:
 rdoc_options: []
 require_paths:
 - lib
@@ -248,15 +67,15 @@
   requirements:
   - - "~>"
     - !ruby/object:Gem::Version
-      version: '2.6'
+      version: '3.0'
 required_rubygems_version: !ruby/object:Gem::Requirement
   requirements:
   - - ">="
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.0.4
-signing_key: 
+rubygems_version: 3.2.5
+signing_key:
 specification_version: 4
 summary: Provides an implementation of the XDG Base Directory Specification.
 test_files: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata.gz.sig new/metadata.gz.sig
--- old/metadata.gz.sig 2019-07-02 01:02:10.000000000 +0200
+++ new/metadata.gz.sig 2021-01-20 03:26:45.000000000 +0100
@@ -1,2 +1 @@
-h]W????0Mm<[|?#???Ef??EL??????????K-}?]???1??<q????????.?Us??       
???=T?T7??v??\?C??g??b?27C     ??,E!n???P?}??v???yr?%?n
??d[[???%?-?X(^??k??%?`???}?,?????b|??w/?C??-?}3??~?&
-?$J??n~b??0????%;?????'?E??-^?i?[???:M??7?Y?~GB?]R?1???P'h??????
\ No newline at end of file
+D?Z?)|{j$W-kJ"???m???Q???S
?cBy=?p??????????/[??p?+ed??
??e?.???3???u??????????????%??:?Fi"???I??A;S6%p??N?c??v???iCr?*??      
}e?t??`D?V?????W?}????-?{??????5h???????:??7??U??e?????A?To~F/h\?2??u?D???P?????C??!eV&Vi?b(}O?V-$?(;?9C?
\ No newline at end of file

Reply via email to