win32-dir 0.5.0 → 0.5.1

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
  SHA1:
3
- metadata.gz: 24b10fb838eab01de3c979978c409486ac5872a0
4
- data.tar.gz: c6470c51e09422329b405da037abe29b4f9b5cd3
3
+ metadata.gz: 0fa2671864fff6d5baf15a94c38d5d49066c2a2f
4
+ data.tar.gz: c036f3097b86f3f178da31c4105d71f44a7b22b6
5
5
  SHA512:
6
- metadata.gz: f3d329bdb7408ba5d3beffea8cb486c80418875286e00115543cf223245331ba42ac56ec6e4f050f652163ffcab4b1d2b1b0b66d51eed762011f0ce357cc58db
7
- data.tar.gz: 09bf9aa59a279a681f525a7fac0cf416f9b4fbcca8047f3d95dc89dbacd9033e49423852b37454c4e1dec2db28c962f43d22e21a329f098c40b8517c016908ab
6
+ metadata.gz: b55fc21bbba08fae66acddec7c5b635c717b3c38f8aec3726f20f68491b9c4e502ad904405f938ccc174caa0a3eff43b664c0aab2ce0aa63299c569ceb63f350
7
+ data.tar.gz: d029bbc35525ab75ea5d6afaf02e5a02233e3feb0cf56aa4b42bed668c50d856e8d6c2bbe00e5b31aa401bc2eb5a3c1ef225714e612a8090548466a95551290b
Binary file
Binary file
data/CHANGES CHANGED
@@ -1,116 +1,121 @@
1
- == 0.5.0 - 15-Oct-2014
2
- * Fixed an encoding error in an error message in the Dir.read_junction method.
3
- Thanks go to topac for the spot and patch.
4
- * Replaced File.exists? with File.exist? in the test suite to avoid warnings
5
- in Ruby 2.1 and later.
6
- * Do not let the version number fool you, this is not a major release. I
7
- simply ran out of version numbers.
8
-
9
- == 0.4.9 - 2-Jul-2014
10
- * Fixed the INVALID_FILE_ATTRIBUTES constant. It's only a 32-bit value.
11
- Thanks go to Ethan Brown for the patch.
12
- * Use relative_require instead of manually doing things.
13
- * Removed rubyforge_project from gemspec.
14
- * Added a string_check to the Dir.junction? method.
15
-
16
- == 0.4.8 - 27-Apr-2014
17
- * More closely mimic Ruby's stringiness checks for overrided methods.
18
-
19
- == 0.4.7 - 26-Apr-2014
20
- * All arguments to methods are now interpolated so that they'll use whatever
21
- to_str implemenation the argument provides instead of assuming String
22
- arguments. This change was made because it turns out that at least some
23
- of the overridden methods in MRI accept Pathname objects. Thanks go to
24
- Josh Cooper/Puppet Labs for the spot.
25
- * Refactored the Dir.getwd method to use bonafide FFI buffers instead of
26
- naked Ruby char buffers.
27
- * Internally various functions now fail in the event that the resulting
28
- paths would exceed their buffers.
29
-
30
- == 0.4.6 - 21-Oct-2013
31
- * Fixed the INVALID_HANDLE_VALUE and INVALID_FILE_ATTRIBUTES constants for
32
- 64-bit versions of Ruby.
33
- * Added Rake as a development dependency.
34
-
35
- == 0.4.5 - 23-Sep-2013
36
- * Yet another encoding fix, this time one that affected JRuby.
37
- * Fixed the Dir[] and Dir.glob methods so they match the spec. Thanks go
38
- to Chris Westbrook for the spot.
39
-
40
- == 0.4.4 - 22-Sep-2013
41
- * Yet another encoding fix. Thanks go to Rob Reynolds for the patch.
42
-
43
- == 0.4.3 - 24-Jul-2013
44
- * Changed the Dir.read_junction and CSIDL constant strings so that they
45
- use the default external encoding instead of UTF-16LE. This means that
46
- they will now work with methods like File.join. Thanks go to Josh Cooper
47
- for the patches.
48
- * Some changes for internal handling of making FFI functions private.
49
- * Updated gem:create task for rubygems 2.
50
-
51
- == 0.4.2 - 8-Apr-2013
52
- * Fixed the HANDLE function prototypes in the underlying FFI code and added
53
- some custom typedefs for convenience. This affects 64 bit Ruby code.
54
-
55
- == 0.4.1 - 2-Oct-2012
56
- * Added the Dir.read_junction method. Thanks go to Gabriel Wilkins for the patch.
57
-
58
- == 0.4.0 - 29-Jun-2012
59
- * Conversion to FFI. Should work with JRuby now.
60
- * If current versions of Dir::XXX constant values cannot be found
61
- then default values are tried.
62
- * Now requires Ruby 1.9 or later.
63
-
64
- == 0.3.7 - 18-Jul-2010
65
- * Modified Dir.glob and Dir[] to handle backslashes in path names.
66
- * Added tests for the modified Dir.glob and Dir[] behavior.
67
- * Removed the old non-gem install Rake task.
68
-
69
- == 0.3.6 - 6-Feb-2010
70
- * Bug fixes for Ruby 1.9.x. Thanks go to Kendall Gifford for the spot and
71
- the patch.
72
- * Minor refactoring of the Dir.create_junction method. This fixed a bug for
73
- Ruby 1.9.x, but was also a little cleaner in general.
74
- * Some Rakefile task and gemspec updates.
75
-
76
- == 0.3.5 - 6-Aug-2009
77
- * Changed the license to Artistic 2.0.
78
- * Updated the gemspec, including the addition of a license attribute and
79
- test-unit as a development dependency.
80
-
81
- == 0.3.4 - 5-May-2009
82
- * Redefined the Dir.getwd (and the Dir.pwd alias) to always return a
83
- normalized path.
84
- * Some gemspec updates.
85
-
86
- == 0.3.3 - 30-Mar-2009
87
- * Virtual folders like Dir::CONTROL, which were previously almost always nil,
88
- are now set to their display name.
89
- * Fixed a bug in the create_junction method.
90
- * Added an 'example' rake task to run the example code.
91
- * Renamed the example program from dir_test.rb to dir_example.rb to prevent
92
- any potential confusion that it's a genuine test file.
93
-
94
- == 0.3.2 - 25-Jul-2007
95
- * Added a Rakefile with tasks for testing and installation.
96
- * Removed the install.rb file (the Rakefile handles installation).
97
- * Minor updates the README, MANIFEST, and test file.
98
-
99
- == 0.3.1 - 16-Oct-2006
100
- * Added the Dir.empty? method.
101
- * Changed the Dir.reparse_dir? method to Dir.junction? (but kept an alias
102
- for backwards compatibility).
103
- * Added rdoc for Dir.junction? (oops).
104
- * Some test tweaks and additions.
105
-
106
- == 0.3.0 - 28-May-2006
107
- * Now pure Ruby.
108
- * Now has a gem.
109
- * Added a VERSION constant.
110
-
111
- == 0.2.0 - 27-Jun-2005
112
- * Added the Dir.create_junction and Dir.reparse_dir? methods.
113
- * Added corresponding tests and documentation.
114
-
115
- == 0.1.0 - 25-Feb-2005
116
- * Initial release
1
+ == 0.5.1 - 20-Oct-2015
2
+ * The gem is now signed.
3
+ * The Rakefile gem tasks now assume Rubygems 2.x.
4
+ * Added a win32-dir.rb file for convenience.
5
+
6
+ == 0.5.0 - 15-Oct-2014
7
+ * Fixed an encoding error in an error message in the Dir.read_junction method.
8
+ Thanks go to topac for the spot and patch.
9
+ * Replaced File.exists? with File.exist? in the test suite to avoid warnings
10
+ in Ruby 2.1 and later.
11
+ * Do not let the version number fool you, this is not a major release. I
12
+ simply ran out of version numbers.
13
+
14
+ == 0.4.9 - 2-Jul-2014
15
+ * Fixed the INVALID_FILE_ATTRIBUTES constant. It's only a 32-bit value.
16
+ Thanks go to Ethan Brown for the patch.
17
+ * Use relative_require instead of manually doing things.
18
+ * Removed rubyforge_project from gemspec.
19
+ * Added a string_check to the Dir.junction? method.
20
+
21
+ == 0.4.8 - 27-Apr-2014
22
+ * More closely mimic Ruby's stringiness checks for overrided methods.
23
+
24
+ == 0.4.7 - 26-Apr-2014
25
+ * All arguments to methods are now interpolated so that they'll use whatever
26
+ to_str implemenation the argument provides instead of assuming String
27
+ arguments. This change was made because it turns out that at least some
28
+ of the overridden methods in MRI accept Pathname objects. Thanks go to
29
+ Josh Cooper/Puppet Labs for the spot.
30
+ * Refactored the Dir.getwd method to use bonafide FFI buffers instead of
31
+ naked Ruby char buffers.
32
+ * Internally various functions now fail in the event that the resulting
33
+ paths would exceed their buffers.
34
+
35
+ == 0.4.6 - 21-Oct-2013
36
+ * Fixed the INVALID_HANDLE_VALUE and INVALID_FILE_ATTRIBUTES constants for
37
+ 64-bit versions of Ruby.
38
+ * Added Rake as a development dependency.
39
+
40
+ == 0.4.5 - 23-Sep-2013
41
+ * Yet another encoding fix, this time one that affected JRuby.
42
+ * Fixed the Dir[] and Dir.glob methods so they match the spec. Thanks go
43
+ to Chris Westbrook for the spot.
44
+
45
+ == 0.4.4 - 22-Sep-2013
46
+ * Yet another encoding fix. Thanks go to Rob Reynolds for the patch.
47
+
48
+ == 0.4.3 - 24-Jul-2013
49
+ * Changed the Dir.read_junction and CSIDL constant strings so that they
50
+ use the default external encoding instead of UTF-16LE. This means that
51
+ they will now work with methods like File.join. Thanks go to Josh Cooper
52
+ for the patches.
53
+ * Some changes for internal handling of making FFI functions private.
54
+ * Updated gem:create task for rubygems 2.
55
+
56
+ == 0.4.2 - 8-Apr-2013
57
+ * Fixed the HANDLE function prototypes in the underlying FFI code and added
58
+ some custom typedefs for convenience. This affects 64 bit Ruby code.
59
+
60
+ == 0.4.1 - 2-Oct-2012
61
+ * Added the Dir.read_junction method. Thanks go to Gabriel Wilkins for the patch.
62
+
63
+ == 0.4.0 - 29-Jun-2012
64
+ * Conversion to FFI. Should work with JRuby now.
65
+ * If current versions of Dir::XXX constant values cannot be found
66
+ then default values are tried.
67
+ * Now requires Ruby 1.9 or later.
68
+
69
+ == 0.3.7 - 18-Jul-2010
70
+ * Modified Dir.glob and Dir[] to handle backslashes in path names.
71
+ * Added tests for the modified Dir.glob and Dir[] behavior.
72
+ * Removed the old non-gem install Rake task.
73
+
74
+ == 0.3.6 - 6-Feb-2010
75
+ * Bug fixes for Ruby 1.9.x. Thanks go to Kendall Gifford for the spot and
76
+ the patch.
77
+ * Minor refactoring of the Dir.create_junction method. This fixed a bug for
78
+ Ruby 1.9.x, but was also a little cleaner in general.
79
+ * Some Rakefile task and gemspec updates.
80
+
81
+ == 0.3.5 - 6-Aug-2009
82
+ * Changed the license to Artistic 2.0.
83
+ * Updated the gemspec, including the addition of a license attribute and
84
+ test-unit as a development dependency.
85
+
86
+ == 0.3.4 - 5-May-2009
87
+ * Redefined the Dir.getwd (and the Dir.pwd alias) to always return a
88
+ normalized path.
89
+ * Some gemspec updates.
90
+
91
+ == 0.3.3 - 30-Mar-2009
92
+ * Virtual folders like Dir::CONTROL, which were previously almost always nil,
93
+ are now set to their display name.
94
+ * Fixed a bug in the create_junction method.
95
+ * Added an 'example' rake task to run the example code.
96
+ * Renamed the example program from dir_test.rb to dir_example.rb to prevent
97
+ any potential confusion that it's a genuine test file.
98
+
99
+ == 0.3.2 - 25-Jul-2007
100
+ * Added a Rakefile with tasks for testing and installation.
101
+ * Removed the install.rb file (the Rakefile handles installation).
102
+ * Minor updates the README, MANIFEST, and test file.
103
+
104
+ == 0.3.1 - 16-Oct-2006
105
+ * Added the Dir.empty? method.
106
+ * Changed the Dir.reparse_dir? method to Dir.junction? (but kept an alias
107
+ for backwards compatibility).
108
+ * Added rdoc for Dir.junction? (oops).
109
+ * Some test tweaks and additions.
110
+
111
+ == 0.3.0 - 28-May-2006
112
+ * Now pure Ruby.
113
+ * Now has a gem.
114
+ * Added a VERSION constant.
115
+
116
+ == 0.2.0 - 27-Jun-2005
117
+ * Added the Dir.create_junction and Dir.reparse_dir? methods.
118
+ * Added corresponding tests and documentation.
119
+
120
+ == 0.1.0 - 25-Feb-2005
121
+ * Initial release
data/MANIFEST CHANGED
@@ -1,8 +1,10 @@
1
- * README
2
- * MANIFEST
3
- * CHANGES
4
- * Rakefile
5
- * win32-dir.gemspec
6
- * examples/dir_example.rb
7
- * lib/win32/dir.rb
8
- * test/test_win32_dir.rb
1
+ * README
2
+ * MANIFEST
3
+ * CHANGES
4
+ * Rakefile
5
+ * win32-dir.gemspec
6
+ * examples/dir_example.rb
7
+ * certs/djberg96_pub.pem
8
+ * lib/win32-dir.rb
9
+ * lib/win32/dir.rb
10
+ * test/test_win32_dir.rb
data/README CHANGED
@@ -1,273 +1,273 @@
1
- = Description
2
- A series of extra constants for the Dir class that define special folders
3
- on MS Windows systems, as well as methods for creating and detecting
4
- junctions, i.e. symlinks for directories.
5
-
6
- = Installation
7
- gem install win32-dir
8
-
9
- = Synopsis
10
- require 'win32/dir'
11
-
12
- # C:\WINNT or C:\WINDOWS
13
- puts Dir::WINDOWS
14
-
15
- # C:\Documents and Settings\Daniel\Start Menu\Programs\Administrative Tools
16
- puts Dir::ADMINTOOLS
17
-
18
- Dir.mkdir('C:\from')
19
- Dir.create_junction('C:\to', 'C:\from')
20
-
21
- = Constants
22
- Not all of these are guaranteed to be defined on your system. Also note
23
- that the directories are merely defined. It doesn't necessarily mean they
24
- actually exist.
25
-
26
- == The following constants should be defined:
27
- Dir::ADMINTOOLS
28
- The file system directory that is used to store administrative tools for an
29
- individual user. The Microsoft Management Console (MMC) will save
30
- customized consoles to this directory, and it will roam with the user.
31
-
32
- Dir::COMMON_ADMINTOOLS
33
- The file system directory containing administrative tools for all users
34
- of the computer.
35
-
36
- Dir::APPDATA
37
- The file system directory that serves as a common repository for
38
- application-specific data. A typical path is
39
- C:\Documents and Settings\<user>\Application Data.
40
-
41
- This CSIDL is supported by the redistributable shfolder.dll for
42
- systems that do not have the Microsoft Internet Explorer 4.0
43
- integrated Shell installed.
44
-
45
- Dir::COMMON_APPDATA
46
- The file system directory containing application data for all users. A
47
- typical path is C:\Documents and Settings\All Users\Application Data.
48
-
49
- Dir::COMMON_DOCUMENTS
50
- The file system directory that contains documents that are common to all
51
- users. A typical paths is C:\Documents and Settings\All Users\Documents.
52
-
53
- Dir::COOKIES
54
- The file system directory that serves as a common repository for Internet
55
- cookies. A typical path is C:\Documents and Settings\<user>\Cookies.
56
-
57
- Dir::HISTORY
58
- The file system directory that serves as a common repository for Internet
59
- history items.
60
-
61
- Dir::INTERNET_CACHE
62
- The file system directory that serves as a common repository for temporary
63
- Internet files. A typical path is
64
- C:\Documents and Settings\<user>\Local Settings\Temporary Internet Files.
65
-
66
- Dir::LOCAL_APPDATA
67
- The file system directory that serves as a data repository for local
68
- (nonroaming) applications. A typical path is
69
- C:\Documents and Settings\<user>\Local Settings\Application Data.
70
-
71
- Dir::MYPICTURES
72
- The file system directory that serves as a common repository for image
73
- files. A typical path is
74
- C:\Documents and Settings\<user>\My Documents\My Pictures.
75
-
76
- Dir::PERSONAL
77
- The virtual folder representing the My Documents desktop item. This is
78
- equivalent to Dir::MYDOCUMENTS.
79
-
80
- Dir::PROGRAM_FILES
81
- The Program Files folder. A typical path is C:\Program Files.
82
-
83
- Dir::PROGRAM_FILES_COMMON
84
- A folder for components that are shared across applications. A typical path
85
- is C:\Program Files\Common.
86
-
87
- Dir::SYSTEM
88
- The Windows System folder. A typical path is C:\Windows\System32.
89
-
90
- Dir::WINDOWS
91
- The Windows directory or SYSROOT. This corresponds to the %windir% or
92
- %SYSTEMROOT% environment variables. A typical path is C:\Windows.
93
-
94
- == The following constants may or may not be defined:
95
- Dir::ALTSTARTUP
96
- The file system directory that corresponds to the user's nonlocalized
97
- Startup program group.
98
-
99
- Dir::BITBUCKET
100
- The virtual folder containing the objects in the user's Recycle Bin.
101
-
102
- Dir::CDBURN_AREA
103
- The file system directory acting as a staging area for files waiting to
104
- be written to CD.
105
-
106
- Dir::COMMON_ALTSTARTUP
107
- The file system directory that corresponds to the nonlocalized Startup
108
- program group for all users.
109
-
110
- Dir::COMMON_DESKTOPDIRECTORY
111
- The file system directory that contains files and folders that appear on
112
- the desktop for all users. A typical path is
113
- C:\Documents and Settings\All Users\Desktop.
114
-
115
- Dir::COMMON_FAVORITES
116
- The file system directory that serves as a common repository for favorite
117
- items common to all users.
118
-
119
- Dir::COMMON_MUSIC
120
- The file system directory that serves as a repository for music files
121
- common to all users.
122
-
123
- Dir::COMMON_PICTURES
124
- The file system directory that serves as a repository for image files
125
- common to all users.
126
-
127
- Dir::COMMON_PROGRAMS
128
- The file system directory that contains the directories for the common
129
- program groups that appear on the Start menu for all users.
130
-
131
- Dir::COMMON_STARTMENU
132
- The file system directory that contains the programs and folders that
133
- appear on the Start menu for all users.
134
-
135
- Dir::COMMON_STARTUP
136
- The file system directory that contains the programs that appear in the
137
- Startup folder for all users.
138
-
139
- Dir::COMMON_TEMPLATES
140
- The file system directory that contains the templates that are available
141
- to all users.
142
-
143
- Dir::COMMON_VIDEO
144
- The file system directory that serves as a repository for video files
145
- common to all users.
146
-
147
- Dir::CONTROLS
148
- The virtual folder containing icons for the Control Panel applications.
149
-
150
- Dir::DESKTOP
151
- The virtual folder representing the Windows desktop, the root of the
152
- namespace.
153
-
154
- Dir::DESKTOPDIRECTORY
155
- The file system directory used to physically store file objects on the
156
- desktop (not to be confused with the desktop folder itself).
157
-
158
- Dir::DRIVES
159
- The virtual folder representing My Computer, containing everything on
160
- the local computer: storage devices, printers, and Control Panel. The
161
- folder may also contain mapped network drives.
162
-
163
- Dir::FAVORITES
164
- The file system directory that serves as a common repository for the
165
- user's favorite items.
166
-
167
- Dir::FONTS
168
- A virtual folder containing fonts.
169
-
170
- Dir::INTERNET
171
- A virtual folder representing the Internet.
172
-
173
- Dir::MYDOCUMENTS
174
- The virtual folder representing the My Documents desktop item. See also
175
- Dir::PERSONAL.
176
-
177
- Dir::MYMUSIC
178
- The file system directory that serves as a common repository for music files.
179
-
180
- Dir::MYVIDEO
181
- The file system directory that serves as a common repository for video files.
182
-
183
- Dir::NETHOOD
184
- A file system directory containing the link objects that may exist in the
185
- My Network Places virtual folder. It is not the same as Dir::NETWORK, which
186
- represents the network namespace root.
187
-
188
- Dir::NETWORK
189
- A virtual folder representing Network Neighborhood, the root of the network
190
- namespace hierarchy.
191
-
192
- Dir::PRINTERS
193
- The virtual folder containing installed printers.
194
-
195
- Dir::PRINTHOOD
196
- The file system directory that contains the link objects that can exist in
197
- the "Printers" virtual folder.
198
-
199
- Dir::PROFILE
200
- The user's profile folder.
201
-
202
- Dir::PROFILES
203
- The file system directory containing user profile folders.
204
-
205
- Dir::PROGRAMS
206
- The file system directory that contains the user's program groups (which
207
- are themselves file system directories).
208
-
209
- Dir::RECENT
210
- The file system directory that contains shortcuts to the user's most
211
- recently used documents.
212
-
213
- Dir::SENDTO
214
- The file system directory that contains Send To menu items.
215
-
216
- Dir::STARTMENU
217
- The file system directory containing Start menu items.
218
-
219
- Dir::STARTUP
220
- The file system directory that corresponds to the user's Startup program
221
- group.
222
-
223
- Dir::TEMPLATES
224
- The file system directory that serves as a common repository for document
225
- templates.
226
-
227
- == Developer's Notes
228
- The SHGetFolderPath() documentation on MSDN is somewhat vague about which
229
- CSIDL constants are guaranteed to be defined. However, there are 15 which
230
- *should* be defined (see docs above). The rest I cannot vouch for.
231
-
232
- Some of these folders are virtual, and the value will be the display name
233
- only instead of an actual path.
234
-
235
- == Known Bugs
236
- The Dir.create_junction and Dir.read_junction methods do not work with JRuby.
237
-
238
- Please log any bug reports on the project page at
239
- http://www.github.com/djberg96/win32-dir
240
-
241
- == Future Plans
242
- Suggestions welcome.
243
-
244
- == Acknowledgements
245
- Shashank Date and Zach Dennis for the suggestion and supporting comments
246
- on the mailing list.
247
-
248
- Timothy Byrd and Autrijus Tang for help (directly or indirectly) with the
249
- junction methods. Timothy provided a pure Ruby version of the junction
250
- code that I later borrowed from.
251
-
252
- Most of the documentation was copied from the MSDN web site.
253
-
254
- == License
255
- Artistic 2.0
256
-
257
- == Contributions
258
- Although this library is free, please consider having your company
259
- setup a gittip if used by your company professionally.
260
-
261
- http://www.gittip.com/djberg96/
262
-
263
- == Copyright
264
- (C) 2003-2014 Daniel J. Berger, All Rights Reserved
265
-
266
- == Warranty
267
- This package is provided "as is" and without any express or
268
- implied warranties, including, without limitation, the implied
269
- warranties of merchantability and fitness for a particular purpose.
270
-
271
- == Authors
272
- Daniel J. Berger
273
- Park Heesob
1
+ = Description
2
+ A series of extra constants for the Dir class that define special folders
3
+ on MS Windows systems, as well as methods for creating and detecting
4
+ junctions, i.e. symlinks for directories.
5
+
6
+ = Installation
7
+ gem install win32-dir
8
+
9
+ = Synopsis
10
+ require 'win32/dir'
11
+
12
+ # C:\WINNT or C:\WINDOWS
13
+ puts Dir::WINDOWS
14
+
15
+ # C:\Documents and Settings\Daniel\Start Menu\Programs\Administrative Tools
16
+ puts Dir::ADMINTOOLS
17
+
18
+ Dir.mkdir('C:\from')
19
+ Dir.create_junction('C:\to', 'C:\from')
20
+
21
+ = Constants
22
+ Not all of these are guaranteed to be defined on your system. Also note
23
+ that the directories are merely defined. It doesn't necessarily mean they
24
+ actually exist.
25
+
26
+ == The following constants should be defined:
27
+ Dir::ADMINTOOLS
28
+ The file system directory that is used to store administrative tools for an
29
+ individual user. The Microsoft Management Console (MMC) will save
30
+ customized consoles to this directory, and it will roam with the user.
31
+
32
+ Dir::COMMON_ADMINTOOLS
33
+ The file system directory containing administrative tools for all users
34
+ of the computer.
35
+
36
+ Dir::APPDATA
37
+ The file system directory that serves as a common repository for
38
+ application-specific data. A typical path is
39
+ C:\Documents and Settings\<user>\Application Data.
40
+
41
+ This CSIDL is supported by the redistributable shfolder.dll for
42
+ systems that do not have the Microsoft Internet Explorer 4.0
43
+ integrated Shell installed.
44
+
45
+ Dir::COMMON_APPDATA
46
+ The file system directory containing application data for all users. A
47
+ typical path is C:\Documents and Settings\All Users\Application Data.
48
+
49
+ Dir::COMMON_DOCUMENTS
50
+ The file system directory that contains documents that are common to all
51
+ users. A typical paths is C:\Documents and Settings\All Users\Documents.
52
+
53
+ Dir::COOKIES
54
+ The file system directory that serves as a common repository for Internet
55
+ cookies. A typical path is C:\Documents and Settings\<user>\Cookies.
56
+
57
+ Dir::HISTORY
58
+ The file system directory that serves as a common repository for Internet
59
+ history items.
60
+
61
+ Dir::INTERNET_CACHE
62
+ The file system directory that serves as a common repository for temporary
63
+ Internet files. A typical path is
64
+ C:\Documents and Settings\<user>\Local Settings\Temporary Internet Files.
65
+
66
+ Dir::LOCAL_APPDATA
67
+ The file system directory that serves as a data repository for local
68
+ (nonroaming) applications. A typical path is
69
+ C:\Documents and Settings\<user>\Local Settings\Application Data.
70
+
71
+ Dir::MYPICTURES
72
+ The file system directory that serves as a common repository for image
73
+ files. A typical path is
74
+ C:\Documents and Settings\<user>\My Documents\My Pictures.
75
+
76
+ Dir::PERSONAL
77
+ The virtual folder representing the My Documents desktop item. This is
78
+ equivalent to Dir::MYDOCUMENTS.
79
+
80
+ Dir::PROGRAM_FILES
81
+ The Program Files folder. A typical path is C:\Program Files.
82
+
83
+ Dir::PROGRAM_FILES_COMMON
84
+ A folder for components that are shared across applications. A typical path
85
+ is C:\Program Files\Common.
86
+
87
+ Dir::SYSTEM
88
+ The Windows System folder. A typical path is C:\Windows\System32.
89
+
90
+ Dir::WINDOWS
91
+ The Windows directory or SYSROOT. This corresponds to the %windir% or
92
+ %SYSTEMROOT% environment variables. A typical path is C:\Windows.
93
+
94
+ == The following constants may or may not be defined:
95
+ Dir::ALTSTARTUP
96
+ The file system directory that corresponds to the user's nonlocalized
97
+ Startup program group.
98
+
99
+ Dir::BITBUCKET
100
+ The virtual folder containing the objects in the user's Recycle Bin.
101
+
102
+ Dir::CDBURN_AREA
103
+ The file system directory acting as a staging area for files waiting to
104
+ be written to CD.
105
+
106
+ Dir::COMMON_ALTSTARTUP
107
+ The file system directory that corresponds to the nonlocalized Startup
108
+ program group for all users.
109
+
110
+ Dir::COMMON_DESKTOPDIRECTORY
111
+ The file system directory that contains files and folders that appear on
112
+ the desktop for all users. A typical path is
113
+ C:\Documents and Settings\All Users\Desktop.
114
+
115
+ Dir::COMMON_FAVORITES
116
+ The file system directory that serves as a common repository for favorite
117
+ items common to all users.
118
+
119
+ Dir::COMMON_MUSIC
120
+ The file system directory that serves as a repository for music files
121
+ common to all users.
122
+
123
+ Dir::COMMON_PICTURES
124
+ The file system directory that serves as a repository for image files
125
+ common to all users.
126
+
127
+ Dir::COMMON_PROGRAMS
128
+ The file system directory that contains the directories for the common
129
+ program groups that appear on the Start menu for all users.
130
+
131
+ Dir::COMMON_STARTMENU
132
+ The file system directory that contains the programs and folders that
133
+ appear on the Start menu for all users.
134
+
135
+ Dir::COMMON_STARTUP
136
+ The file system directory that contains the programs that appear in the
137
+ Startup folder for all users.
138
+
139
+ Dir::COMMON_TEMPLATES
140
+ The file system directory that contains the templates that are available
141
+ to all users.
142
+
143
+ Dir::COMMON_VIDEO
144
+ The file system directory that serves as a repository for video files
145
+ common to all users.
146
+
147
+ Dir::CONTROLS
148
+ The virtual folder containing icons for the Control Panel applications.
149
+
150
+ Dir::DESKTOP
151
+ The virtual folder representing the Windows desktop, the root of the
152
+ namespace.
153
+
154
+ Dir::DESKTOPDIRECTORY
155
+ The file system directory used to physically store file objects on the
156
+ desktop (not to be confused with the desktop folder itself).
157
+
158
+ Dir::DRIVES
159
+ The virtual folder representing My Computer, containing everything on
160
+ the local computer: storage devices, printers, and Control Panel. The
161
+ folder may also contain mapped network drives.
162
+
163
+ Dir::FAVORITES
164
+ The file system directory that serves as a common repository for the
165
+ user's favorite items.
166
+
167
+ Dir::FONTS
168
+ A virtual folder containing fonts.
169
+
170
+ Dir::INTERNET
171
+ A virtual folder representing the Internet.
172
+
173
+ Dir::MYDOCUMENTS
174
+ The virtual folder representing the My Documents desktop item. See also
175
+ Dir::PERSONAL.
176
+
177
+ Dir::MYMUSIC
178
+ The file system directory that serves as a common repository for music files.
179
+
180
+ Dir::MYVIDEO
181
+ The file system directory that serves as a common repository for video files.
182
+
183
+ Dir::NETHOOD
184
+ A file system directory containing the link objects that may exist in the
185
+ My Network Places virtual folder. It is not the same as Dir::NETWORK, which
186
+ represents the network namespace root.
187
+
188
+ Dir::NETWORK
189
+ A virtual folder representing Network Neighborhood, the root of the network
190
+ namespace hierarchy.
191
+
192
+ Dir::PRINTERS
193
+ The virtual folder containing installed printers.
194
+
195
+ Dir::PRINTHOOD
196
+ The file system directory that contains the link objects that can exist in
197
+ the "Printers" virtual folder.
198
+
199
+ Dir::PROFILE
200
+ The user's profile folder.
201
+
202
+ Dir::PROFILES
203
+ The file system directory containing user profile folders.
204
+
205
+ Dir::PROGRAMS
206
+ The file system directory that contains the user's program groups (which
207
+ are themselves file system directories).
208
+
209
+ Dir::RECENT
210
+ The file system directory that contains shortcuts to the user's most
211
+ recently used documents.
212
+
213
+ Dir::SENDTO
214
+ The file system directory that contains Send To menu items.
215
+
216
+ Dir::STARTMENU
217
+ The file system directory containing Start menu items.
218
+
219
+ Dir::STARTUP
220
+ The file system directory that corresponds to the user's Startup program
221
+ group.
222
+
223
+ Dir::TEMPLATES
224
+ The file system directory that serves as a common repository for document
225
+ templates.
226
+
227
+ == Developer's Notes
228
+ The SHGetFolderPath() documentation on MSDN is somewhat vague about which
229
+ CSIDL constants are guaranteed to be defined. However, there are 15 which
230
+ *should* be defined (see docs above). The rest I cannot vouch for.
231
+
232
+ Some of these folders are virtual, and the value will be the display name
233
+ only instead of an actual path.
234
+
235
+ == Known Bugs
236
+ The Dir.create_junction and Dir.read_junction methods do not work with JRuby.
237
+
238
+ Please log any bug reports on the project page at
239
+ http://www.github.com/djberg96/win32-dir
240
+
241
+ == Future Plans
242
+ Suggestions welcome.
243
+
244
+ == Acknowledgements
245
+ Shashank Date and Zach Dennis for the suggestion and supporting comments
246
+ on the mailing list.
247
+
248
+ Timothy Byrd and Autrijus Tang for help (directly or indirectly) with the
249
+ junction methods. Timothy provided a pure Ruby version of the junction
250
+ code that I later borrowed from.
251
+
252
+ Most of the documentation was copied from the MSDN web site.
253
+
254
+ == License
255
+ Artistic 2.0
256
+
257
+ == Contributions
258
+ Although this library is free, please consider having your company
259
+ setup a gittip if used by your company professionally.
260
+
261
+ http://www.gittip.com/djberg96/
262
+
263
+ == Copyright
264
+ (C) 2003-2015 Daniel J. Berger, All Rights Reserved
265
+
266
+ == Warranty
267
+ This package is provided "as is" and without any express or
268
+ implied warranties, including, without limitation, the implied
269
+ warranties of merchantability and fitness for a particular purpose.
270
+
271
+ == Authors
272
+ Daniel J. Berger
273
+ Park Heesob