xdg 7.1.3 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1e5dcb9770dd9c770688a728dd49794579afbd3aaa033ec0d960a0080973086
4
- data.tar.gz: 998ac4ed5c5460eb0bdae01621fcba4d4729daf3fca3976305f854f68821cacf
3
+ metadata.gz: a5ba853f70091e4dba915e9ef34a112bffe535bbe0c8fd0836101d35f98a7372
4
+ data.tar.gz: 987ec6392ec13cdb03bc8cf7cbc7348c9bfa33a69c67936d4a61f4914557aaab
5
5
  SHA512:
6
- metadata.gz: 89a24c2391d201d63f03a465b3c91ff0b38aebe89e474a2102a58df819a5d11ac07aa8115144378711afd32e22a3f732f45383d32dc2f2ddaae7b0df93d64e9e
7
- data.tar.gz: f1ad7240dcbfeddadd59066bac9a23d190a31ff46ea74a0ed0df3b1e8258d0b6c62f0c65dd06e3db19aac403d4b570f85b8988aa2b96747fff9e1fe7d5dcd81c
6
+ metadata.gz: 15218c612f1ca1bf9ad52bbdc3dc1fb0007383b99d62233fcf3a4aa8302f24281261ed9447f1f8b4d1f5fa9e3ea785155469f0403d919a6fbedc8011958414f1
7
+ data.tar.gz: 3b8d5106b0610e471e45e9370762a2f85eabc40dabc08ddc0b307fde81907ac53eba8e06b3b9c15ab55bde49696a5c892a5b6b05f86373e41fb94c1cb3f03158
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -2,13 +2,15 @@
2
2
  :toclevels: 5
3
3
  :figure-caption!:
4
4
 
5
+ :dotfiles_link: link:https://alchemists.io/projects/dotfiles[Dotfiles]
6
+ :runcom_link: link:https://alchemists.io/projects/runcom[Runcom]
7
+ :sod_link: link:https://alchemists.io/projects/sod[Sod]
8
+
5
9
  = XDG
6
10
 
7
- Provides a Ruby implementation of the link:https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG Base Directory
8
- Specification] for managing common configurations without polluting your dotfiles. XDG is great for command line interfaces or any application that needs a common configuration, cache, data, state, or runtime.
11
+ Provides a Ruby implementation of the link:https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG Base Directory Specification] for managing common configurations without polluting your {dotfiles_link}. XDG is great for command line interfaces or any application that needs a common configuration, cache, data, state, or runtime.
9
12
 
10
- 💡 If you write a lot of Command Line Interfaces and would like additional/advanced syntactic sugar that includes what is found in this gem, make sure to check out the
11
- link:https://alchemists.io/projects/runcom[Runcom] gem too.
13
+ 💡 If you write a lot of Command Line Interfaces (CLIs) and would like additional behavior built atop this gem, then check out the {runcom_link} gem or the more advanced {sod_link} gem.
12
14
 
13
15
  toc::[]
14
16
 
@@ -77,7 +79,7 @@ xdg.data_dirs # Answers computed `$XDG_DATA_DIRS` value.
77
79
  xdg.state_home # Answers computed `$XDG_STATE_HOME` value.
78
80
  ----
79
81
 
80
- Behinds the scenes, use of `XDG.new` provides a convenient wrapper of `XDG::Environment.new` which, in turn, provides a unified API to the following objects:
82
+ Behinds the scenes, use of `XDG.new` wraps `XDG::Environment.new` which provides a unified Object API to the following objects:
81
83
 
82
84
  [source,ruby]
83
85
  ----
@@ -89,63 +91,79 @@ state = XDG::State.new
89
91
 
90
92
  Generally, use of `XDG.new` is all you need but knowing you can create a specialized instance of any aspect of the XDG specification can be handy for specific use cases. Additionally, the `cache`, `config`, `data`, and `state` objects share the same API which means you can send the following messages:
91
93
 
92
- * `#home` - Answers the home directory as computed via the `$XDG_*_HOME` key.
93
- * `#directories` - Answers an array directories as computed via the `$XDG_*_DIRS` key.
94
- * `#all` - Answers an array of _all_ directories as computed from the combined `$XDG_*_HOME` and
94
+ * `#home`: Answers the home directory as computed via the `$XDG_*_HOME` key.
95
+ * `#directories`: Answers an array directories as computed via the `$XDG_*_DIRS` key.
96
+ * `#all`: Answers an array of _all_ directories as computed from the combined `$XDG_*_HOME` and
95
97
  `$XDG_*_DIRS` values (with `$XDG_*_HOME` prefixed at the start of the array).
98
+ * `#to_s`: Answers an _explicit_ string cast for the current environment.
99
+ * `#to_str`: Answers an _implicit_ string cast for the current environment.
100
+ * `#inspect`: Answers object inspection complete with object type, object ID, and all environment variables.
96
101
 
97
102
  The _computed_ value of each method 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.
98
103
 
99
104
  === Examples
100
105
 
101
- The following are examples of what you would see when playing around with the XDG objects within an
102
- IRB console (taken from my own environment):
106
+ The following are examples of what you will see when exploring the XDG objects within an IRB console:
103
107
 
104
108
  [source,ruby]
105
109
  ----
106
110
  require "xdg"
107
111
 
108
112
  # Initialization
113
+
109
114
  xdg = XDG.new
110
115
  cache = XDG::Cache.new
111
116
  config = XDG::Config.new
112
117
  data = XDG::Data.new
113
118
  state = XDG::State.new
114
119
 
115
- # Inspection
116
- xdg.inspect # "XDG_CACHE_HOME=/Users/demo/.cache XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_STATE_HOME=/Users/demo/.local/state"
117
- cache.inspect # "XDG_CACHE_HOME=/Users/demo/.cache"
118
- config.inspect # "XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg"
119
- data.inspect # "XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share"
120
- state.inspect # "XDG_STATE_HOME=/Users/demo/.local/state"
121
-
122
120
  # Paths
123
- xdg.cache_home # #<Pathname:/Users/demo/.cache>
124
- xdg.config_home # #<Pathname:/Users/demo/.config>
125
- xdg.config_dirs # [#<Pathname:/etc/xdg>]
126
- xdg.data_home # #<Pathname:/Users/demo/.local/share>
127
- xdg.data_dirs # [#<Pathname:/usr/local/share>, #<Pathname:/usr/share>]
128
- xdg.state_home # #<Pathname:/Users/demo/.local/state>
129
-
130
- cache.home # #<Pathname:/Users/demo/.cache>
121
+
122
+ xdg.cache_home # "#<Pathname:/Users/demo/.cache>"
123
+ xdg.config_home # "#<Pathname:/Users/demo/.config>"
124
+ xdg.config_dirs # ["#<Pathname:/etc/xdg>"]
125
+ xdg.data_home # "#<Pathname:/Users/demo/.local/share>"
126
+ xdg.data_dirs # ["#<Pathname:/usr/local/share>", "#<Pathname:/usr/share>"]
127
+ xdg.state_home # "#<Pathname:/Users/demo/.local/state>"
128
+
129
+ cache.home # "#<Pathname:/Users/demo/.cache>"
131
130
  cache.directories # []
132
- cache.all # [#<Pathname:/Users/demo/.cache>]
131
+ cache.all # ["#<Pathname:/Users/demo/.cache>"]
133
132
 
134
- config.home # #<Pathname:/Users/demo/.config>
135
- config.directories # [#<Pathname:/etc/xdg>]
136
- config.all # [#<Pathname:/Users/demo/.config>, #<Pathname:/etc/xdg>]
133
+ config.home # "#<Pathname:/Users/demo/.config>"
134
+ config.directories # ["#<Pathname:/etc/xdg>"]
135
+ config.all # ["#<Pathname:/Users/demo/.config>", "#<Pathname:/etc/xdg>"]
137
136
 
138
- data.home # #<Pathname:/Users/demo/.local/share>
139
- data.directories # [#<Pathname:/usr/local/share>, #<Pathname:/usr/share>]
140
- data.all # [#<Pathname:/Users/demo/.local/share>, #<Pathname:/usr/local/share>, #<Pathname:/usr/share>]
137
+ data.home # "#<Pathname:/Users/demo/.local/share>"
138
+ data.directories # ["#<Pathname:/usr/local/share>", "#<Pathname:/usr/share>"]
139
+ data.all # ["#<Pathname:/Users/demo/.local/share>", "#<Pathname:/usr/local/share>", "#<Pathname:/usr/share>"]
141
140
 
142
- state.home # #<Pathname:/Users/demo/.local/state>
141
+ state.home # "#<Pathname:/Users/demo/.local/state>"
143
142
  state.directories # []
144
- state.all # [#<Pathname:/Users/demo/.local/state>]
145
- ----
143
+ state.all # ["#<Pathname:/Users/demo/.local/state>"]
144
+
145
+ # Casts (explicit and implicit)
146
+
147
+ xdg.to_s # "XDG_CACHE_HOME=/Users/demo/.cache XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_STATE_HOME=/Users/demo/.local/state"
148
+ cache.to_s # "XDG_CACHE_HOME=/Users/demo/.cache"
149
+ config.to_s # "XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg"
150
+ data.to_s # "XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share"
151
+ state.to_s # "XDG_STATE_HOME=/Users/demo/.local/state"
146
152
 
147
- As you can see from above, each XDG object answers back a `Pathname` which means you have the full
148
- `Pathname` API at your fingertips to build upon the output of these objects as needed.
153
+ xdg.to_str # "XDG_CACHE_HOME=/Users/demo/.cache XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_STATE_HOME=/Users/demo/.local/state"
154
+ cache.to_str # "XDG_CACHE_HOME=/Users/demo/.cache"
155
+ config.to_str # "XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg"
156
+ data.to_str # "XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share"
157
+ state.to_str # "XDG_STATE_HOME=/Users/demo/.local/state"
158
+
159
+ # Inspection
160
+
161
+ xdg.inspect # "#<XDG::Environment:2020 XDG_CACHE_HOME=/Users/demo/.cache XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_STATE_HOME=/Users/demo/.local/state>"
162
+ cache.inspect # "#<XDG::Cache:2040 XDG_CACHE_HOME=/Users/demo/.cache>"
163
+ config.inspect # "#<XDG::Config:2060 XDG_CONFIG_HOME=/Users/demo/.config XDG_CONFIG_DIRS=/etc/xdg>"
164
+ data.inspect # "#<XDG::Data:2080 XDG_DATA_HOME=/Users/demo/.local/share XDG_DATA_DIRS=/usr/local/share:/usr/share>"
165
+ state.inspect # "#<XDG::State:2100 XDG_STATE_HOME=/Users/demo/.local/state>"
166
+ ----
149
167
 
150
168
  === Variable Defaults
151
169
 
@@ -161,9 +179,7 @@ objects:
161
179
  * `$XDG_RUNTIME_DIR`
162
180
  * `$XDG_STATE_HOME="$HOME/.local/state"`
163
181
 
164
- The `$XDG_RUNTIME_DIR` deserves special mention as it’s not, _currently_, implemented as part of
165
- this gem because it is more user/environment specific. Here is how the `$XDG_RUNTIME_DIR` is meant
166
- to be used should you choose to use it:
182
+ The `$XDG_RUNTIME_DIR` environment variable deserves special mention because 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:
167
183
 
168
184
  * _Must_ reference user-specific non-essential runtime files and other file objects (such as
169
185
  sockets, named pipes, etc.)
@@ -204,21 +220,21 @@ example, here is a situation where the `XDG_CONFIG_DIRS` key has a custom value:
204
220
 
205
221
  [source,bash]
206
222
  ----
207
- XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings:/example/three/.configuration"
223
+ XDG_CONFIG_DIRS="/demo/one/.config:/demo/two/.settings:/demo/three/.configuration"
208
224
  ----
209
225
 
210
- Yields the following, colon delimited, array:
226
+ The above then yields the following, colon delimited, array:
211
227
 
212
228
  [source,ruby]
213
229
  ----
214
230
  [
215
- "/example/one/.config",
216
- "/example/two/.settings",
217
- "/example/three/.configuration"
231
+ "/demo/one/.config",
232
+ "/demo/two/.settings",
233
+ "/demo/three/.configuration"
218
234
  ]
219
235
  ----
220
236
 
221
- In the above example, the `"/example/one/.config"` path takes _highest_ priority since it was
237
+ In the above example, the `"/demo/one/.config"` path takes _highest_ priority since it was
222
238
  defined first.
223
239
 
224
240
  ==== Homes
@@ -228,23 +244,23 @@ a modified version of the `$XDG_*_DIRS` example, shown above, we could have the
228
244
 
229
245
  [source,bash]
230
246
  ----
231
- XDG_CONFIG_HOME="/example/priority"
232
- XDG_CONFIG_DIRS="/example/one/.config:/example/two/.settings"
247
+ XDG_CONFIG_HOME="/demo/priority"
248
+ XDG_CONFIG_DIRS="/demo/one/.config:/demo/two/.settings"
233
249
  ----
234
250
 
235
- Yields the following, colon delimited, array:
251
+ The above then yields the following, colon delimited, array:
236
252
 
237
253
  [source,ruby]
238
254
  ----
239
255
  [
240
- "/example/priority",
241
- "/example/one/.config",
242
- "/example/two/.settings"
256
+ "/demo/priority",
257
+ "/demo/one/.config",
258
+ "/demo/two/.settings"
243
259
  ]
244
260
  ----
245
261
 
246
262
  Due to `XDG_CONFIG_HOME` taking precedence over the `XDG_CONFIG_DIRS`, the path with the
247
- _highest_ priority in this example is: `"/example/priority"`.
263
+ _highest_ priority is: `"/demo/priority"`.
248
264
 
249
265
  === Variable Priority
250
266
 
@@ -272,6 +288,13 @@ You can also use the IRB console for direct access to all objects:
272
288
  bin/console
273
289
  ----
274
290
 
291
+ Lastly, there is a `bin/demo` script which displays default functionality for quick visual reference. This is the same script used to generate the usage examples shown at the top of this document.
292
+
293
+ [source,bash]
294
+ ----
295
+ bin/demo
296
+ ----
297
+
275
298
  == Tests
276
299
 
277
300
  To test, run:
data/lib/xdg/cache.rb CHANGED
@@ -10,13 +10,15 @@ module XDG
10
10
 
11
11
  HOME_PAIR = Pair["XDG_CACHE_HOME", ".cache"].freeze
12
12
 
13
- delegate %i[home directories all inspect] => :combined
13
+ delegate %i[home directories all to_s to_str] => :combined
14
14
 
15
15
  def initialize home: Paths::Home, directories: Paths::Directory, environment: ENV
16
16
  @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
17
17
  directories.new(Pair.new, environment)
18
18
  end
19
19
 
20
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
21
+
20
22
  private
21
23
 
22
24
  attr_reader :combined
data/lib/xdg/config.rb CHANGED
@@ -11,13 +11,15 @@ module XDG
11
11
  HOME_PAIR = Pair["XDG_CONFIG_HOME", ".config"].freeze
12
12
  DIRS_PAIR = Pair["XDG_CONFIG_DIRS", "/etc/xdg"].freeze
13
13
 
14
- delegate %i[home directories all inspect] => :combined
14
+ delegate %i[home directories all to_s to_str] => :combined
15
15
 
16
16
  def initialize home: Paths::Home, directories: Paths::Directory, environment: ENV
17
17
  @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
18
18
  directories.new(DIRS_PAIR, environment)
19
19
  end
20
20
 
21
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
22
+
21
23
  private
22
24
 
23
25
  attr_reader :combined
data/lib/xdg/data.rb CHANGED
@@ -11,13 +11,15 @@ module XDG
11
11
  HOME_PAIR = Pair["XDG_DATA_HOME", ".local/share"].freeze
12
12
  DIRS_PAIR = Pair["XDG_DATA_DIRS", "/usr/local/share:/usr/share"].freeze
13
13
 
14
- delegate %i[home directories all inspect] => :combined
14
+ delegate %i[home directories all to_s to_str] => :combined
15
15
 
16
16
  def initialize home: Paths::Home, directories: Paths::Directory, environment: ENV
17
17
  @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
18
18
  directories.new(DIRS_PAIR, environment)
19
19
  end
20
20
 
21
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
22
+
21
23
  private
22
24
 
23
25
  attr_reader :combined
@@ -22,7 +22,11 @@ module XDG
22
22
 
23
23
  def state_home = state.home
24
24
 
25
- def inspect = [cache, config, data, state].map(&:inspect).join " "
25
+ def to_s = "#{cache} #{config} #{data} #{state}"
26
+
27
+ alias to_str to_s
28
+
29
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
26
30
 
27
31
  private
28
32
 
data/lib/xdg/pair.rb CHANGED
@@ -7,14 +7,21 @@ module XDG
7
7
  super
8
8
  end
9
9
 
10
- def to_env = {key => value}
11
-
12
10
  def key? = key.to_s.size.positive?
13
11
 
14
12
  def value? = value.to_s.size.positive?
15
13
 
16
14
  def empty? = !(key? && value?)
17
15
 
18
- def inspect = key? || value? ? "#{key}#{DELIMITER}#{value}" : ""
16
+ def to_env = {key => value}
17
+
18
+ def to_s = key? || value? ? "#{key}#{DELIMITER}#{value}" : ""
19
+
20
+ alias_method :to_str, :to_s
21
+
22
+ def inspect
23
+ type = self.class
24
+ key? || value? ? "#<data #{type} #{key}#{DELIMITER}#{value}>" : "#<data #{type}>"
25
+ end
19
26
  end
20
27
  end
@@ -17,7 +17,11 @@ module XDG
17
17
 
18
18
  def all = directories.prepend(*home)
19
19
 
20
- def inspect = [initial_home.inspect, initial_directories.inspect].reject(&:empty?).join " "
20
+ def to_s = [initial_home.to_s, initial_directories.to_s].reject(&:empty?).join " "
21
+
22
+ alias to_str to_s
23
+
24
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
21
25
 
22
26
  private
23
27
 
@@ -22,7 +22,16 @@ module XDG
22
22
  .map { |path| expand path }
23
23
  end
24
24
 
25
- def inspect = [key, dynamic.join(DELIMITER)].reject(&:empty?).join XDG::DELIMITER
25
+ def to_s = [key, dynamic.join(DELIMITER)].reject(&:empty?).join XDG::DELIMITER
26
+
27
+ alias to_str to_s
28
+
29
+ def inspect
30
+ pairs = to_s
31
+ type = self.class
32
+
33
+ pairs.empty? ? "#<#{type}:#{object_id}>" : "#<#{type}:#{object_id} #{self}>"
34
+ end
26
35
 
27
36
  private
28
37
 
@@ -22,7 +22,11 @@ module XDG
22
22
 
23
23
  def dynamic = String(environment[key]).then { |path| path.empty? ? default : expand(path) }
24
24
 
25
- def inspect = [pair.key, dynamic].compact.join XDG::DELIMITER
25
+ def to_s = [pair.key, dynamic].compact.join XDG::DELIMITER
26
+
27
+ alias to_str to_s
28
+
29
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
26
30
 
27
31
  private
28
32
 
data/lib/xdg/state.rb CHANGED
@@ -10,13 +10,15 @@ module XDG
10
10
 
11
11
  HOME_PAIR = Pair["XDG_STATE_HOME", ".local/state"].freeze
12
12
 
13
- delegate %i[home directories all inspect] => :combined
13
+ delegate %i[home directories all to_s to_str] => :combined
14
14
 
15
15
  def initialize home: Paths::Home, directories: Paths::Directory, environment: ENV
16
16
  @combined = Paths::Combined.new home.new(HOME_PAIR, environment),
17
17
  directories.new(Pair.new, environment)
18
18
  end
19
19
 
20
+ def inspect = "#<#{self.class}:#{object_id} #{self}>"
21
+
20
22
  private
21
23
 
22
24
  attr_reader :combined
data/xdg.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "xdg"
5
- spec.version = "7.1.3"
5
+ spec.version = "8.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/xdg"
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = [">= 3.2", "<= 3.3"]
25
+ spec.required_ruby_version = "~> 3.3"
26
26
 
27
27
  spec.files = Dir["*.gemspec", "lib/**/*"]
28
28
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
data.tar.gz.sig CHANGED
@@ -1,3 +1,4 @@
1
- >$�9�ݪ��B��"O��_��}��M_�s%�B$;�#8i�hg����`�"�w�]:������l�9
2
- ����G�g���mr��ӍH��/d8��!���9�r�{�>��d��9�� B���d�K�e �|2~|��|���1Ӕ_x��'e��W�~���We��r/�6h��J!��4�����Os2�;�
3
- Ϸ9 e�ׅ��6
1
+ E�p%b�;�֎UJ�g�G���_0��=�QU�GN}��Y]sj�[G%�FUއ��B���������s'��Am �r9
2
+ W:��9�=`��+�2���J"�ܙ����Jn��U��،;��t��d\�&C��h���[]���1����-^Lm��Y*i{<�mF����T
3
+ �+�.��78��3A�����b:�m# �%v r�kg �ò3x@
4
+ 2������RaZDž���~�k�x�pF7�h��N�B�MW�B�M���.��?�!�.�6i��咒�rQ�tѐ��CL�$q�/�(���+S��x�^Nm�F�+ JUW�WH��d����<�群N����c
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xdg
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.3
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-11-16 00:00:00.000000000 Z
38
+ date: 2024-01-01 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
41
  email:
@@ -76,10 +76,7 @@ require_paths:
76
76
  - lib
77
77
  required_ruby_version: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '3.2'
82
- - - "<="
79
+ - - "~>"
83
80
  - !ruby/object:Gem::Version
84
81
  version: '3.3'
85
82
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -88,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
85
  - !ruby/object:Gem::Version
89
86
  version: '0'
90
87
  requirements: []
91
- rubygems_version: 3.4.22
88
+ rubygems_version: 3.5.3
92
89
  signing_key:
93
90
  specification_version: 4
94
91
  summary: A XDG Base Directory Specification implementation.
metadata.gz.sig CHANGED
Binary file