win32-dir 0.3.6 → 0.3.7
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/CHANGES +5 -0
- data/Rakefile +2 -9
- data/lib/win32/dir.rb +21 -1
- data/test/test_win32_dir.rb +24 -1
- data/win32-dir.gemspec +1 -1
- metadata +28 -13
data/CHANGES
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 0.3.7 - 18-Jul-2010
|
2
|
+
* Modified Dir.glob and Dir[] to handle backslashes in path names.
|
3
|
+
* Added tests for the modified Dir.glob and Dir[] behavior.
|
4
|
+
* Removed the old non-gem install Rake task.
|
5
|
+
|
1
6
|
== 0.3.6 - 6-Feb-2010
|
2
7
|
* Bug fixes for Ruby 1.9.x. Thanks go to Kendall Gifford for the spot and
|
3
8
|
the patch.
|
data/Rakefile
CHANGED
@@ -1,22 +1,15 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/testtask'
|
3
3
|
|
4
|
-
desc "Install the win32-dir package (non-gem)"
|
5
|
-
task :install do
|
6
|
-
dest = File.join(Config::CONFIG['sitelibdir'], 'win32')
|
7
|
-
Dir.mkdir(dest) unless File.exists? dest
|
8
|
-
cp 'lib/win32/dir.rb', dest, :verbose => true
|
9
|
-
end
|
10
|
-
|
11
4
|
namespace 'gem' do
|
12
|
-
desc "
|
5
|
+
desc "Create the win32-dir gem"
|
13
6
|
task :build do
|
14
7
|
Dir["*.gem"].each{ |f| File.delete(f) }
|
15
8
|
spec = eval(IO.read('win32-dir.gemspec'))
|
16
9
|
Gem::Builder.new(spec).build
|
17
10
|
end
|
18
11
|
|
19
|
-
desc "Install the win32-dir
|
12
|
+
desc "Install the win32-dir gem"
|
20
13
|
task :install => [:build] do
|
21
14
|
file = Dir["*.gem"].first
|
22
15
|
sh "gem install #{file}"
|
data/lib/win32/dir.rb
CHANGED
@@ -30,7 +30,7 @@ class Dir
|
|
30
30
|
extend Windows::SystemInfo
|
31
31
|
|
32
32
|
# The version of the win32-dir library.
|
33
|
-
VERSION = '0.3.
|
33
|
+
VERSION = '0.3.7'
|
34
34
|
|
35
35
|
# Dynamically set each of the CSIDL_ constants
|
36
36
|
constants.grep(/CSIDL/).each{ |constant|
|
@@ -67,6 +67,26 @@ class Dir
|
|
67
67
|
class << self
|
68
68
|
remove_method :getwd
|
69
69
|
remove_method :pwd
|
70
|
+
alias :old_glob :glob
|
71
|
+
alias :old_ref :[]
|
72
|
+
remove_method :glob
|
73
|
+
remove_method :[]
|
74
|
+
end
|
75
|
+
|
76
|
+
# Same as the standard MRI Dir.glob method except that it handles
|
77
|
+
# backslashes in path names.
|
78
|
+
#
|
79
|
+
def self.glob(glob_pattern, flags = 0, &block)
|
80
|
+
glob_pattern = glob_pattern.tr("\\", "/")
|
81
|
+
old_glob(glob_pattern, flags, &block)
|
82
|
+
end
|
83
|
+
|
84
|
+
# Same as the standard MRI Dir[] method except that it handles
|
85
|
+
# backslashes in path names.
|
86
|
+
#
|
87
|
+
def self.[](glob_pattern)
|
88
|
+
glob_pattern = glob_pattern.tr("\\", "/")
|
89
|
+
old_ref(glob_pattern)
|
70
90
|
end
|
71
91
|
|
72
92
|
# Returns the present working directory. Unlike MRI, this method always
|
data/test/test_win32_dir.rb
CHANGED
@@ -28,7 +28,30 @@ class TC_Win32_Dir < Test::Unit::TestCase
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_version
|
31
|
-
assert_equal('0.3.
|
31
|
+
assert_equal('0.3.7', Dir::VERSION)
|
32
|
+
end
|
33
|
+
|
34
|
+
test 'glob handles backslashes' do
|
35
|
+
pattern = "C:\\Program Files\\Common Files\\System\\*.dll"
|
36
|
+
assert_nothing_raised{ Dir.glob(pattern) }
|
37
|
+
assert_true(Dir.glob(pattern).size > 0)
|
38
|
+
end
|
39
|
+
|
40
|
+
test 'glob still observes flags' do
|
41
|
+
assert_nothing_raised{ Dir.glob('*', File::FNM_DOTMATCH ) }
|
42
|
+
assert_true(Dir.glob('*', File::FNM_DOTMATCH).include?('.'))
|
43
|
+
end
|
44
|
+
|
45
|
+
test 'glob still honors block' do
|
46
|
+
array = []
|
47
|
+
assert_nothing_raised{ Dir.glob('*', File::FNM_DOTMATCH ){ |m| array << m } }
|
48
|
+
assert_true(array.include?('.'))
|
49
|
+
end
|
50
|
+
|
51
|
+
test 'ref handles backslashes' do
|
52
|
+
pattern = "C:\\Program Files\\Common Files\\System\\*.dll"
|
53
|
+
assert_nothing_raised{ Dir[pattern] }
|
54
|
+
assert_true(Dir[pattern].size > 0)
|
32
55
|
end
|
33
56
|
|
34
57
|
def test_create_junction_basic
|
data/win32-dir.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-dir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 7
|
9
|
+
version: 0.3.7
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Daniel J. Berger
|
@@ -10,29 +15,37 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2010-
|
18
|
+
date: 2010-07-19 00:00:00 -07:00
|
14
19
|
default_executable:
|
15
20
|
dependencies:
|
16
21
|
- !ruby/object:Gem::Dependency
|
17
22
|
name: windows-pr
|
18
|
-
|
19
|
-
|
20
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
21
25
|
requirements:
|
22
26
|
- - ">="
|
23
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 1
|
30
|
+
- 0
|
31
|
+
- 9
|
24
32
|
version: 1.0.9
|
25
|
-
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
26
35
|
- !ruby/object:Gem::Dependency
|
27
36
|
name: test-unit
|
28
|
-
|
29
|
-
|
30
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
39
|
requirements:
|
32
40
|
- - ">="
|
33
41
|
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 2
|
44
|
+
- 0
|
45
|
+
- 6
|
34
46
|
version: 2.0.6
|
35
|
-
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id002
|
36
49
|
description: " The win32-dir library provides extra methods and constants for the\n builtin Dir class. The constants provide a convenient way to identify\n certain directories across all versions of Windows. Some methods have\n been added, such as the ability to create junctions. Others have been\n modified to provide a more consistent result for MS Windows.\n"
|
37
50
|
email: djberg96@gmail.com
|
38
51
|
executables: []
|
@@ -65,18 +78,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
65
78
|
requirements:
|
66
79
|
- - ">="
|
67
80
|
- !ruby/object:Gem::Version
|
81
|
+
segments:
|
82
|
+
- 0
|
68
83
|
version: "0"
|
69
|
-
version:
|
70
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
85
|
requirements:
|
72
86
|
- - ">="
|
73
87
|
- !ruby/object:Gem::Version
|
88
|
+
segments:
|
89
|
+
- 0
|
74
90
|
version: "0"
|
75
|
-
version:
|
76
91
|
requirements: []
|
77
92
|
|
78
93
|
rubyforge_project: win32utils
|
79
|
-
rubygems_version: 1.3.
|
94
|
+
rubygems_version: 1.3.6
|
80
95
|
signing_key:
|
81
96
|
specification_version: 3
|
82
97
|
summary: Extra constants and methods for the Dir class on Windows.
|