xdg 7.1.3 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
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