maid-xdg 2.2.1.1 → 2.2.1.2

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.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ ---
2
+ script: "bundle exec qed"
3
+ rvm:
4
+ - 1.8.7
5
+ - 1.9.2
6
+ - 1.9.3
7
+ - rbx-2.0
8
+ - jruby
9
+ - ree
10
+
11
+
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --title "YARD-Bird"
2
+ --readme README.rdoc
3
+ --output-dir site/doc
4
+ --private
5
+ lib/**/*.rb -
6
+ [A-Z][A-Z]*
data/Assembly ADDED
@@ -0,0 +1,39 @@
1
+ ---
2
+ email:
3
+ mailto:
4
+ - ruby-talk@ruby-lang.org
5
+ - rubyworks-mailinglist@googlegroups.com
6
+
7
+ qed:
8
+ files: demo
9
+
10
+ qedoc:
11
+ files: demo
12
+ title: XDG Demonstrations
13
+ output: DEMO.rdoc
14
+
15
+ gem:
16
+ active: true
17
+
18
+ github:
19
+ gh_pages: web
20
+
21
+ yard:
22
+ active: true
23
+
24
+ dnote:
25
+ output: log/notes.html
26
+
27
+ vclog:
28
+ output:
29
+ - log/history.html
30
+ - log/changes.html
31
+
32
+
33
+ # boy is this outdated ;)
34
+ #rubyforge:
35
+ # service : Rubyforge
36
+ # unixname : xdg
37
+ # groupid : 7077
38
+ # active : false
39
+
data/COPYING.rdoc ADDED
@@ -0,0 +1,31 @@
1
+ = COPYRIGHT NOTICES
2
+
3
+ == XDG
4
+
5
+ Copyright:: (c) 2008 Rubyworks
6
+ License:: BSD-2-Clause
7
+ Website:: http://rubyworks.github.com/xdg
8
+
9
+ Copyright 2008 Rubyworks. All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ 1. Redistributions of source code must retain the above copyright notice,
15
+ this list of conditions and the following disclaimer.
16
+
17
+ 2. Redistributions in binary form must reproduce the above copyright
18
+ notice, this list of conditions and the following disclaimer in the
19
+ documentation and/or other materials provided with the distribution.
20
+
21
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
22
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
23
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
+ COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
28
+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+
data/DEMO.rdoc ADDED
@@ -0,0 +1,144 @@
1
+ = XDG Base Directory Standard
2
+
3
+ The 2.0 API is much a great deal more concise than the original
4
+ 0.0+ and 1.0+ APIs. It consists primarily of a single
5
+ interface method `XDG[]`. Yet all the functionality of the older
6
+ API remain and then some.
7
+
8
+ First we need to require the library.
9
+
10
+ require 'xdg'
11
+
12
+ In the applique we have setup a fake root directory with
13
+ coorepsonding environment settings to use as test fixtures.
14
+
15
+ == Data Paths
16
+
17
+ === Home
18
+
19
+ XDG['DATA_HOME'].environment.assert == ENV['XDG_DATA_HOME'].to_s
20
+ XDG['DATA_HOME'].environment_variables.assert == ['XDG_DATA_HOME']
21
+
22
+ Looking at the data home location by default it should be point to
23
+ our joe user's home directory under `.local/share`.
24
+
25
+ XDG['DATA_HOME'].to_a.assert == [$froot + 'home/joe/.local/share']
26
+
27
+ === Dirs
28
+
29
+ XDG['DATA_DIRS'].environment.assert == ENV['XDG_DATA_DIRS'].to_s
30
+ XDG['DATA_DIRS'].environment_variables.assert == ['XDG_DATA_DIRS']
31
+
32
+ Looking at the system data locations
33
+
34
+ XDG['DATA_DIRS'].to_a.assert == [$froot + 'usr/share']
35
+
36
+ === Combined
37
+
38
+ XDG['DATA'].environment_variables.assert == ['XDG_DATA_HOME', 'XDG_DATA_DIRS']
39
+
40
+ Lookking at both data location combined
41
+
42
+ XDG['DATA'].to_a.assert == [$froot + 'home/joe/.local/share', $froot + 'usr/share']
43
+
44
+
45
+ == Config Paths
46
+
47
+ === Home
48
+
49
+ XDG['CONFIG_HOME'].environment.assert == ENV['XDG_CONFIG_HOME'].to_s
50
+ XDG['CONFIG_HOME'].to_a.assert == [$froot + 'home/joe/.config']
51
+
52
+ === Dirs
53
+
54
+ XDG['CONFIG_DIRS'].environment.assert == ENV['XDG_CONFIG_DIRS'].to_s
55
+ XDG['CONFIG_DIRS'].to_a.assert == [$froot + 'etc/xdg', $froot + 'etc']
56
+
57
+ === Combined
58
+
59
+ XDG['CONFIG'].to_a.assert == [$froot + 'home/joe/.config', $froot + 'etc/xdg', $froot + 'etc']
60
+
61
+
62
+ == Cache Paths
63
+
64
+ === Home
65
+
66
+ XDG['CACHE_HOME'].environment.assert == ENV['XDG_CACHE_HOME'].to_s
67
+ XDG['CACHE_HOME'].to_a.assert == [$froot + 'home/joe/.cache']
68
+
69
+ === Dirs
70
+
71
+ XDG['CACHE_DIRS'].environment.assert == ENV['XDG_CACHE_DIRS'].to_s
72
+ XDG['CACHE_DIRS'].to_a.assert == [$froot + 'tmp']
73
+
74
+ === Combined
75
+
76
+ XDG['CACHE'].to_a.assert == [$froot + 'home/joe/.cache', $froot + 'tmp']
77
+
78
+
79
+ = Extended Base Directory Standard
80
+
81
+ The extended base directory standard provides additional locations
82
+ not apart the offical standard. These are somewhat experimental.
83
+
84
+ == Resource
85
+
86
+ XDG['RESOURCE_HOME'].environment.assert == ENV['XDG_RESOURCE_HOME'].to_s
87
+
88
+ XDG['RESOURCE_HOME'].environment_variables.assert == ['XDG_RESOURCE_HOME']
89
+
90
+ Looking at the data home location by default it should be pointing to
91
+ our joe users home directory under `.local`.
92
+
93
+ XDG['RESOURCE_HOME'].list.assert == ['~/.local']
94
+
95
+ XDG['RESOURCE_HOME'].to_a.assert == [$froot + 'home/joe/.local']
96
+
97
+
98
+ == Work
99
+
100
+ The working configuration directory
101
+
102
+ XDG['CONFIG_WORK'].environment.assert == ENV['XDG_CONFIG_WORK'].to_s
103
+
104
+ XDG['CONFIG_WORK'].environment_variables.assert == ['XDG_CONFIG_WORK']
105
+
106
+ Looking at the config work location, by default it should be pointing to
107
+ the current working directorys `.config` or `config` directory.
108
+
109
+ XDG['CONFIG_WORK'].list.assert == ['.config', 'config']
110
+
111
+ XDG['CONFIG_WORK'].to_a.assert == [Dir.pwd + '/.config', Dir.pwd + '/config']
112
+
113
+ The working cache directory
114
+
115
+ XDG['CACHE_WORK'].environment.assert == ENV['XDG_CACHE_WORK'].to_s
116
+
117
+ XDG['CACHE_WORK'].environment_variables.assert == ['XDG_CACHE_WORK']
118
+
119
+ Looking at the cache work location, by default it should be pointing to
120
+ the current working directorys `.tmp` or `tmp` directory.
121
+
122
+ XDG['CACHE_WORK'].list.assert == ['.tmp', 'tmp']
123
+
124
+ XDG['CACHE_WORK'].to_a.assert == [Dir.pwd + '/.tmp', Dir.pwd + '/tmp']
125
+
126
+
127
+ = Base Directory Mixin
128
+
129
+ The base directory mixin is used to easy augment a class for
130
+ access to a named subdirectory of the XDG directories.
131
+
132
+ class MyAppConfig
133
+ include XDG::BaseDir::Mixin
134
+
135
+ def subdirectory
136
+ 'myapp'
137
+ end
138
+ end
139
+
140
+ c = MyAppConfig.new
141
+
142
+ c.config.home.to_a #=> [$froot + 'home/joe/.config/myapp']
143
+
144
+
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
data/HISTORY.rdoc ADDED
@@ -0,0 +1,138 @@
1
+ = RELEASE HISTORY
2
+
3
+ == 2.2.2 / 2011-10-30
4
+
5
+ Just a maintenance release to bring the build configuration
6
+ up to date. Also, change license to BSD-2-Clause.
7
+
8
+ Changes:
9
+
10
+ * Modernize build configuration
11
+ * Switch to BSD-2-Clause license.
12
+
13
+
14
+ == 2.2.1 / 2011-06-11
15
+
16
+ This release changes BaseDir#to_s to return the first directory
17
+ entry, and moves the old #to_s to #environment_with_defaults
18
+ with an alias of #env. The old #env now being called #environment.
19
+
20
+ Changes:
21
+
22
+ * Rename #env to #environment.
23
+ * Rename #to_s to #environment_with_defaults.
24
+ * Modify #to_s to return first directory.
25
+
26
+
27
+ == 2.1.0 / 2011-06-09
28
+
29
+ This release changes the BaseDir#list method, where as it used
30
+ to be an alias for #to_a, it now differs in that it does not
31
+ expand the paths. In addtion a few tests were fixed and version
32
+ number properly updated int hte version.rb file.
33
+
34
+ Changes:
35
+
36
+ * Change BaseDir#list to not expand paths.
37
+ * Properly assign VERSION constant.
38
+ * Fix broken qed tests.
39
+
40
+
41
+ == 2.0.0 / 2011-06-09
42
+
43
+ Major new release is full rewrite of the API, with an eye out for
44
+ support future XDG standards beyond the base directories. The
45
+ new API uses a single point of entry `XDG[]` (a shortcut for
46
+ `XDG::BaseDir[]`).
47
+
48
+ Changes:
49
+
50
+ * Complete rewrite of API.
51
+ * Utilize single point of entry interface.
52
+ * Structure project for future support of more of XDG.
53
+
54
+
55
+ == 1.0.0 / 2009-12-01
56
+
57
+ This is major reimplementation of the XDG API to be more flexiable
58
+ and object-oriented. Instead of a single module with every
59
+ needed method, the system is devided up into sub-modules, one for
60
+ each set of XDG locations. So, for example, instead of "XDG.data_dirs"
61
+ you use "XDG::Data.dirs" or "XDG.data.dirs".
62
+
63
+ Changes:
64
+
65
+ * Reworked API and underlying implementation to be more OOP-style.
66
+ * Began work on xdg/extended.rb, exploring future proposals.
67
+ * Provides xdg/compat.rb, for backward compatabilty (temporary).
68
+
69
+
70
+ == 0.5.2 / 2009-05-30
71
+
72
+ This release requires rbconfig.rb and uses system entries in place of
73
+ some hardcoded FHS locations.
74
+
75
+ Changes:
76
+
77
+ * Replaced hardcoded system directories with rbconfig entries.
78
+
79
+
80
+ == 0.5.1 / 2008-11-17
81
+
82
+ Changes:
83
+
84
+ * Fixed data work directory is '.local', not '.share'
85
+ * Deprecated #data_work
86
+
87
+
88
+ == 0.5.0 / 2008-10-28
89
+
90
+ Changes:
91
+
92
+ * Changed _glob to _select
93
+
94
+
95
+ == 0.4.0 / 2008-10-26
96
+
97
+ This release removes the xdg_ prefix from the instance-level
98
+ method names. Now module and instance levels are the same.
99
+
100
+ Also, data_file, config_file and cache_file have been replaced with
101
+ data_find, config_find, cache_find, data_glob, config_glob and
102
+ cache_glob.
103
+
104
+ What's next? Well, I can't say I'm fond of the term 'glob', so I
105
+ may rename that to 'map' or 'collect' (or 'select'?) and then
106
+ add the ability to use blocks for matching too.
107
+
108
+ Changes:
109
+
110
+ * Renamed instance level methods without 'xdg_' prefix.
111
+ * Replace _file methods with _find and _glob methods.
112
+ * Prepare for v0.4 release
113
+ * Remove some old commented-out code
114
+ * Fixed data_find and data_glob
115
+ * Update RELEASE file
116
+ * Updated documentation for 0.4 release
117
+ * Added MANIFEST to .gitignore
118
+ * Correction or RELEASE
119
+ * Fixed plural in RELEASE file
120
+
121
+
122
+ == 0.3.0 / 2008-10-11
123
+
124
+ Changes:
125
+
126
+ * Removed xdg_ prefix from module methods
127
+ * Moved web/index.html to doc directory
128
+ * Updated reap serives
129
+ * Prepare for next release
130
+ * Fixed issue of xdg_ prefix still being used internally
131
+
132
+
133
+ == 0.1.0 / 2008-09-27
134
+
135
+ Changes:
136
+
137
+ * Started project
138
+
data/LICENSE.txt ADDED
@@ -0,0 +1,5 @@
1
+ Copyright (c) 2008-2012 Rubyworks
2
+
3
+ Distributed under the terms of the *FreeBSD* license.
4
+
5
+ See COPYING.rdoc file for details.
data/MANIFEST ADDED
@@ -0,0 +1,29 @@
1
+ #!mast .ruby .yardopts bin lib man qed spec test [A-Z]*.*
2
+ .ruby
3
+ lib/xdg/base_dir/extended.rb
4
+ lib/xdg/base_dir/global_variables.rb
5
+ lib/xdg/base_dir/legacy.rb
6
+ lib/xdg/base_dir/mixin.rb
7
+ lib/xdg/base_dir.rb
8
+ lib/xdg/version.rb
9
+ lib/xdg.rb
10
+ qed/01_base_dir.rdoc
11
+ qed/02_base_dir_extended.rdoc
12
+ qed/03_base_dir_mixin.rdoc
13
+ qed/applique/ae.rb
14
+ qed/applique/fakeroot.rb
15
+ qed/fixtures/fakeroot/etc/xdg/bar.config
16
+ qed/fixtures/fakeroot/home/.cache/foo.cache
17
+ qed/fixtures/fakeroot/home/.config/foo.config
18
+ qed/fixtures/fakeroot/home/.local/share/foo.dat
19
+ qed/fixtures/fakeroot/home/joe/foo.txt
20
+ qed/fixtures/fakeroot/usr/share/bar.dat
21
+ test/fakeroot/etc/xdg/bar.config
22
+ test/fakeroot/home/.cache/foo.cache
23
+ test/fakeroot/home/.config/foo.config
24
+ test/fakeroot/home/.local/share/foo.dat
25
+ test/fakeroot/usr/share/bar.dat
26
+ test/test_xdg_legacy.rb
27
+ HISTORY.rdoc
28
+ APACHE2.txt
29
+ README.rdoc
data/README.rdoc ADDED
@@ -0,0 +1,146 @@
1
+ = XDG Standards for Ruby
2
+
3
+ {Homepage}[http://rubyworks.github.com/xdg] |
4
+ {Source Code}[http://github.com/rubyworks/xdg] |
5
+ {Report Issue}[http://github.com/rubyworks/xdg/issues] |
6
+ {Mailing List}[http://googlegroups.com/group.rubyworks-mailinglist] |
7
+ {Chat Room}[irc://irc.freenode.net/rubyworks]
8
+
9
+ {<img src="http://travis-ci.org/rubyworks/xdg.png" />}[http://travis-ci.org/rubyworks/xdg]
10
+
11
+
12
+ == Introduction
13
+
14
+ XDG provides an easy to use Ruby library for working with XDG standards.
15
+
16
+ Presently, it only supports the XDG Base Directory Standard.
17
+
18
+ If your program utilizes user or system-wide support files
19
+ (e.g. configuration files), you owe it to yourself to checkout
20
+ the XDG base directory standard.
21
+
22
+ You can learn more about the standard at:
23
+ http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
24
+
25
+
26
+ == How to Use
27
+
28
+ For working with XDG base directories, XDG provides a very simple
29
+ yet flexible interface, `XDG[]`. Let's say you want to work
30
+ with the $XDG_CONFIG_HOME directory. Simply use:
31
+
32
+ XDG['CONFIG_HOME']
33
+
34
+ This will give you access to a number of useful methods all tied
35
+ into the user's personal configuration directory. Some examples:
36
+
37
+ XDG['CONFIG_HOME'].glob(pattern)
38
+ XDG['CONFIG_HOME'].select(pattern){ |path| ... }
39
+ XDG['CONFIG_HOME'].find(pattern){ |path| ... }
40
+
41
+ The same holds true for the other base directories.
42
+
43
+ XDG['DATA_HOME']
44
+ XDG['DATA_DIRS']
45
+
46
+ XDG['CACHE_HOME']
47
+ XDG['CACHE_DIRS']
48
+
49
+ By leaving out the last qualifier, XDG will provide an interface
50
+ that ties into both the `HOME` and `DIRS` paths.
51
+
52
+ XDG['DATA']
53
+ XDG['CONFIG']
54
+ XDG['CACHE']
55
+
56
+ If you know XDG these are pretty much self-explanatory.
57
+ But see the YARD-based API documentation for further specifics.
58
+
59
+ === Extended Functionality
60
+
61
+ The Ruby XDG module also provides extended functionality
62
+ not part of the standard specification. These extensions are
63
+ simply add-on functionality deemed useful, or implementations
64
+ of proposals being discussed for a possible future version of
65
+ the standard.
66
+
67
+ XDG['CONFIG_WORK']
68
+ XDG['CACHE_WORK']
69
+
70
+ See the API documentation to learn more. Note that the extended modules
71
+ are subject to greater potential for change as they are still being refined.
72
+
73
+ === Base Directory Mixin
74
+
75
+ XDG provides a convenient base directory mixin that can provide handy a
76
+ interface to a classes.
77
+
78
+ class MyAppConfig
79
+ include XDG::BaseDir::Mixin
80
+
81
+ def subdirectory
82
+ 'myapp'
83
+ end
84
+ end
85
+
86
+ c = MyAppConfig.new
87
+
88
+ c.config.home.to_s #=> '~/.config/myapp'
89
+
90
+
91
+ === Legacy API
92
+
93
+ Version 2.0+ of library marks a major departure from the earlier
94
+ "fluid" notation of previous releases. Where as one used to do:
95
+
96
+ XDG.data.home
97
+
98
+ With the new API one now does:
99
+
100
+ XDG['DATA_HOME']
101
+
102
+ This was done for a few reasons, but primarily because it reflects more
103
+ closely Ruby's interface to the environment variables themselves, e.g.
104
+
105
+ ENV['XDG_DATA_HOME']
106
+
107
+ If you prefer the older style, a compatibility layer is provided. You will
108
+ need to load:
109
+
110
+ require 'xdg/base_dir/legacy'
111
+
112
+ However we STRONGLY RECOMMEND that you do not use the legacy API --use it only
113
+ if you need to keep some old code working and don't have time to update it at
114
+ the moment. Sometime in the future the legacy API will be deprecated.
115
+
116
+
117
+ == How to Install
118
+
119
+ Using RubyGems:
120
+
121
+ $ sudo gem install xdg
122
+
123
+ Installing the tarball requires Ruby Setup (see http://rubyworks.github.com/setup).
124
+
125
+ $ tar -xvzf xdg-0.5.2
126
+ $ cd xdg-0.5.2
127
+ $ sudo setup.rb all
128
+
129
+
130
+ == Development
131
+
132
+ GitHub[http://github.com] hosts our {source code}[http://github.com/rubyworks/xdg]
133
+ and {issue ticket system}[http://github.com/rubyworks/xdg/issues].
134
+
135
+ To contribute to the project please fork the repository, ideally, create a new
136
+ topic branch for your work, and submit a pull request.
137
+
138
+
139
+ == Copyright & License
140
+
141
+ Copyright (c) 2008 Rubyworks
142
+
143
+ Distributed under the terms of the *FreeBSD* license.
144
+
145
+ See COPYING.rdoc file for details.
146
+