xdg 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +7 -4
- data/HISTORY.rdoc +14 -0
- data/lib/xdg/base_dir.rb +54 -35
- data/lib/xdg/version.rb +1 -1
- data/qed/{02_base_dir_extended.rb → 02_base_dir_extended.rdoc} +11 -2
- data/qed/{03_base_dir_mixin.rb → 03_base_dir_mixin.rdoc} +1 -1
- data/qed/applique/ae.rb +1 -0
- data/qed/applique/fakeroot.rb +2 -0
- metadata +4 -3
data/.ruby
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
---
|
2
2
|
name: xdg
|
3
|
-
version: 2.
|
3
|
+
version: 2.1.0
|
4
4
|
title: XDG
|
5
5
|
summary: XDG provides an interface for using XDG directory standard.
|
6
6
|
description: XDG provides a module for supporting the XDG Base Directory Standard. See http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
|
7
7
|
loadpath:
|
8
8
|
- lib
|
9
9
|
manifest: Manifest.txt
|
10
|
-
requires:
|
11
|
-
|
10
|
+
requires:
|
11
|
+
- name: qed
|
12
|
+
version: 0+
|
13
|
+
group:
|
14
|
+
- test
|
12
15
|
conflicts: []
|
13
16
|
|
14
17
|
replaces: []
|
@@ -18,7 +21,7 @@ engine_check: []
|
|
18
21
|
organization: RubyWorks
|
19
22
|
contact: Thomas Sawyer <transfire@gmail.com>
|
20
23
|
created: 2008-09-27
|
21
|
-
copyright: Copyright (c) 2008 Thomas Sawyer
|
24
|
+
copyright: Copyright (c) 2008,2011 Thomas Sawyer
|
22
25
|
licenses:
|
23
26
|
- Apache 2.0
|
24
27
|
authors:
|
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 2.1.0 / 2011-06-10
|
4
|
+
|
5
|
+
This release changes the BaseDir#list method, where as it used
|
6
|
+
to be an alias for #to_a, it now differs in that it does not
|
7
|
+
expand the paths. In addtion a few tests were fixed and version
|
8
|
+
number properly updated int hte version.rb file.
|
9
|
+
|
10
|
+
Changes:
|
11
|
+
|
12
|
+
* Change BaseDir#list to not expand paths.
|
13
|
+
* Properly assign VERSION constant.
|
14
|
+
* Fix broken qed tests.
|
15
|
+
|
16
|
+
|
3
17
|
== 2.0.0 / 2011-06-09
|
4
18
|
|
5
19
|
Major new release is full rewrite of the API, with an eye out for
|
data/lib/xdg/base_dir.rb
CHANGED
@@ -48,7 +48,16 @@ module XDG
|
|
48
48
|
@environment_variables
|
49
49
|
end
|
50
50
|
|
51
|
-
#
|
51
|
+
# The equivalent environment setting.
|
52
|
+
#
|
53
|
+
# @return [String] evnironment vsetting
|
54
|
+
def env
|
55
|
+
environment_variables.map{ |v| ENV[v] }.join(':')
|
56
|
+
end
|
57
|
+
|
58
|
+
# Returns a complete list of expanded directories.
|
59
|
+
#
|
60
|
+
# @return [Array<String>] expanded directory list
|
52
61
|
def to_a
|
53
62
|
environment_variables.map do |v|
|
54
63
|
if paths = ENV[v]
|
@@ -73,9 +82,22 @@ module XDG
|
|
73
82
|
to_a.each(&block)
|
74
83
|
end
|
75
84
|
|
76
|
-
# Returns
|
85
|
+
# Returns an *unexpanded* list of directories.
|
86
|
+
#
|
87
|
+
# @return [Array<String>] unexpanded directory list
|
77
88
|
def list
|
78
|
-
|
89
|
+
environment_variables.map do |v|
|
90
|
+
if paths = ENV[v]
|
91
|
+
dirs = paths.split(/[:;]/)
|
92
|
+
else
|
93
|
+
dirs = DEFAULTS[v]
|
94
|
+
end
|
95
|
+
if subdirectory
|
96
|
+
dirs.map{ |path| File.join(path, subdirectory) }
|
97
|
+
else
|
98
|
+
dirs
|
99
|
+
end
|
100
|
+
end.flatten
|
79
101
|
end
|
80
102
|
|
81
103
|
# List of directories as Pathanme objects.
|
@@ -85,6 +107,32 @@ module XDG
|
|
85
107
|
map{ |dir| Pathname.new(dir) }
|
86
108
|
end
|
87
109
|
|
110
|
+
# This is same as #env, but also includes default values.
|
111
|
+
#
|
112
|
+
# @return [String] envinronment value.
|
113
|
+
def to_s
|
114
|
+
environment_variables.map{ |v| ENV[v] || DEFAULTS[v] }.join(':')
|
115
|
+
end
|
116
|
+
|
117
|
+
# @return [Pathname] pathname of first directory
|
118
|
+
def to_path
|
119
|
+
Pathname.new(to_a.first)
|
120
|
+
end
|
121
|
+
|
122
|
+
#
|
123
|
+
attr :subdirectory
|
124
|
+
|
125
|
+
#
|
126
|
+
def subdirectory=(path)
|
127
|
+
@subdirectory = path.to_s
|
128
|
+
end
|
129
|
+
|
130
|
+
#
|
131
|
+
def with_subdirectory(path)
|
132
|
+
@subdirectory = path if path
|
133
|
+
self
|
134
|
+
end
|
135
|
+
|
88
136
|
# Return array of matching files or directories
|
89
137
|
# in any of the resource locations, starting with
|
90
138
|
# the home directory and searching outward into
|
@@ -98,7 +146,7 @@ module XDG
|
|
98
146
|
def glob(*glob_and_flags)
|
99
147
|
glob, flags = *parse_arguments(*glob_and_flags)
|
100
148
|
find = []
|
101
|
-
|
149
|
+
to_a.each do |dir|
|
102
150
|
glob.each do |pattern|
|
103
151
|
find.concat(Dir.glob(File.join(dir, pattern), flags))
|
104
152
|
end
|
@@ -123,7 +171,7 @@ module XDG
|
|
123
171
|
def select(*glob_and_flags, &block)
|
124
172
|
glob, flag = *parse_arguments(*glob_and_flags)
|
125
173
|
find = []
|
126
|
-
|
174
|
+
to_a.each do |dir|
|
127
175
|
path = File.join(dir, *glob)
|
128
176
|
hits = Dir.glob(path, flag)
|
129
177
|
hits = hits.select(&block) if block_given?
|
@@ -139,7 +187,7 @@ module XDG
|
|
139
187
|
def find(*glob_and_flags, &block)
|
140
188
|
glob, flag = *parse_arguments(*glob_and_flags)
|
141
189
|
find = nil
|
142
|
-
|
190
|
+
to_a.each do |dir|
|
143
191
|
path = File.join(dir, *glob)
|
144
192
|
hits = Dir.glob(path, flag)
|
145
193
|
hits = hits.select(&block) if block_given?
|
@@ -149,35 +197,6 @@ module XDG
|
|
149
197
|
find
|
150
198
|
end
|
151
199
|
|
152
|
-
# @return [String] envinronment values.
|
153
|
-
def to_s
|
154
|
-
environment_variables.map{ |v| ENV[v] || DEFAULTS[v] }.join(':')
|
155
|
-
end
|
156
|
-
|
157
|
-
# @return [Pathname] pathname of first directory
|
158
|
-
def to_path
|
159
|
-
Pathname.new(to_s)
|
160
|
-
end
|
161
|
-
|
162
|
-
#
|
163
|
-
def env
|
164
|
-
environment_variables.map{ |v| ENV[v] }.join(':')
|
165
|
-
end
|
166
|
-
|
167
|
-
#
|
168
|
-
attr :subdirectory
|
169
|
-
|
170
|
-
#
|
171
|
-
def subdirectory=(path)
|
172
|
-
@subdirectory = path.to_s
|
173
|
-
end
|
174
|
-
|
175
|
-
#
|
176
|
-
def with_subdirectory(path)
|
177
|
-
@subdirectory = path if path
|
178
|
-
self
|
179
|
-
end
|
180
|
-
|
181
200
|
private
|
182
201
|
|
183
202
|
def parse_arguments(*glob_and_flags)
|
data/lib/xdg/version.rb
CHANGED
@@ -7,11 +7,14 @@ The extended base directory standard provides
|
|
7
7
|
== Resource
|
8
8
|
|
9
9
|
XDG['RESOURCE_HOME'].env.assert == ENV['XDG_RESOURCE_HOME'].to_s
|
10
|
+
|
10
11
|
XDG['RESOURCE_HOME'].environment_variables.assert == ['XDG_RESOURCE_HOME']
|
11
12
|
|
12
13
|
Looking at the data home location by default it should be pointing to
|
13
14
|
our joe user's home directory under `.local`.
|
14
15
|
|
16
|
+
XDG['RESOURCE_HOME'].list.assert == ['~/.local']
|
17
|
+
|
15
18
|
XDG['RESOURCE_HOME'].to_a.assert == [$froot + 'home/joe/.local']
|
16
19
|
|
17
20
|
|
@@ -20,20 +23,26 @@ our joe user's home directory under `.local`.
|
|
20
23
|
The working configuration directory
|
21
24
|
|
22
25
|
XDG['CONFIG_WORK'].env.assert == ENV['XDG_CONFIG_WORK'].to_s
|
26
|
+
|
23
27
|
XDG['CONFIG_WORK'].environment_variables.assert == ['XDG_CONFIG_WORK']
|
24
28
|
|
25
29
|
Looking at the config work location, by default it should be pointing to
|
26
30
|
the current working directory's `.config` or `config` directory.
|
27
31
|
|
28
|
-
XDG['CONFIG_WORK'].
|
32
|
+
XDG['CONFIG_WORK'].list.assert == ['.config', 'config']
|
33
|
+
|
34
|
+
XDG['CONFIG_WORK'].to_a.assert == [Dir.pwd + '/.config', Dir.pwd + '/config']
|
29
35
|
|
30
36
|
The working cache directory
|
31
37
|
|
32
38
|
XDG['CACHE_WORK'].env.assert == ENV['XDG_CACHE_WORK'].to_s
|
39
|
+
|
33
40
|
XDG['CACHE_WORK'].environment_variables.assert == ['XDG_CACHE_WORK']
|
34
41
|
|
35
42
|
Looking at the cache work location, by default it should be pointing to
|
36
43
|
the current working directory's `.tmp` or `tmp` directory.
|
37
44
|
|
38
|
-
XDG['
|
45
|
+
XDG['CACHE_WORK'].list.assert == ['.tmp', 'tmp']
|
46
|
+
|
47
|
+
XDG['CACHE_WORK'].to_a.assert == [Dir.pwd + '/.tmp', Dir.pwd + '/tmp']
|
39
48
|
|
data/qed/applique/ae.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
AE.ansi = false
|
data/qed/applique/fakeroot.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: xdg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.
|
5
|
+
version: 2.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Thomas Sawyer
|
@@ -41,8 +41,9 @@ files:
|
|
41
41
|
- lib/xdg/version.rb
|
42
42
|
- lib/xdg.rb
|
43
43
|
- qed/01_base_dir.rdoc
|
44
|
-
- qed/02_base_dir_extended.
|
45
|
-
- qed/03_base_dir_mixin.
|
44
|
+
- qed/02_base_dir_extended.rdoc
|
45
|
+
- qed/03_base_dir_mixin.rdoc
|
46
|
+
- qed/applique/ae.rb
|
46
47
|
- qed/applique/fakeroot.rb
|
47
48
|
- qed/fixtures/fakeroot/etc/xdg/bar.config
|
48
49
|
- qed/fixtures/fakeroot/home/.cache/foo.cache
|