file-find 0.3.4 → 0.3.5
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 +4 -0
- data/README +75 -73
- data/Rakefile +23 -35
- data/file-find.gemspec +20 -21
- data/lib/file/find.rb +481 -481
- data/test/test_file_find.rb +60 -45
- metadata +39 -17
data/test/test_file_find.rb
CHANGED
@@ -22,53 +22,53 @@ include Config
|
|
22
22
|
include FileUtils
|
23
23
|
|
24
24
|
class TC_File_Find < Test::Unit::TestCase
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
25
|
+
def self.startup
|
26
|
+
Dir.chdir(File.dirname(File.expand_path(__FILE__)))
|
27
|
+
|
28
|
+
@@windows = CONFIG['host_os'] =~ /win32|mswin|msdos|cygwin|mingw/i
|
29
|
+
@@jruby = RUBY_PLATFORM.match('java')
|
30
|
+
|
31
|
+
unless @@windows
|
32
|
+
if @@jruby
|
33
|
+
@@loguser = Etc.getpwnam(Etc.getlogin)
|
34
|
+
@@logroup = Etc.getgrgid(@@loguser.gid)
|
35
|
+
else
|
36
|
+
@@loguser = Sys::Admin.get_user(Sys::Admin.get_login)
|
37
|
+
@@logroup = Sys::Admin.get_group(@@loguser.gid)
|
39
38
|
end
|
40
|
-
|
39
|
+
end
|
40
|
+
end
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
42
|
+
def setup
|
43
|
+
@file_rb = 'test1.rb'
|
44
|
+
@file_txt1 = 'test1.txt'
|
45
|
+
@file_txt2 = 'foo.txt'
|
46
|
+
@file_doc = 'foo.doc'
|
47
|
+
@directory1 = 'dir1'
|
48
|
+
@directory2 = 'dir2'
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
50
|
+
File.open(@file_rb, 'w'){}
|
51
|
+
File.open(@file_txt1, 'w'){}
|
52
|
+
File.open(@file_txt2, 'w'){}
|
53
|
+
File.open(@file_doc, 'w'){}
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
unless @@windows
|
56
|
+
@link1 = 'link1'
|
57
|
+
File.symlink(@file_rb, @link1)
|
58
|
+
end
|
59
59
|
|
60
|
-
|
61
|
-
|
60
|
+
Dir.mkdir(@directory1) unless File.exists?(@directory1)
|
61
|
+
Dir.mkdir(@directory2) unless File.exists?(@directory2)
|
62
62
|
|
63
|
-
|
64
|
-
|
63
|
+
File.open(File.join(@directory1, 'bar.txt'), 'w'){}
|
64
|
+
File.open(File.join(@directory2, 'baz.txt'), 'w'){}
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
|
66
|
+
@rule1 = File::Find.new(:name => '*.txt')
|
67
|
+
@rule2 = File::Find.new
|
68
|
+
end
|
69
69
|
|
70
70
|
def test_version
|
71
|
-
assert_equal('0.3.
|
71
|
+
assert_equal('0.3.5', File::Find::VERSION)
|
72
72
|
end
|
73
73
|
|
74
74
|
def test_path
|
@@ -254,7 +254,10 @@ class TC_File_Find < Test::Unit::TestCase
|
|
254
254
|
assert_equal(['a.foo', 'b.foo', 'c.foo'], @rule2.find.map{ |e| File.basename(e) })
|
255
255
|
|
256
256
|
@rule2.maxdepth = nil
|
257
|
-
assert_equal(
|
257
|
+
assert_equal(
|
258
|
+
['a.foo', 'b.foo', 'c.foo', 'd.foo', 'e.foo', 'f.foo'],
|
259
|
+
@rule2.find.map{ |e| File.basename(e) }.sort
|
260
|
+
)
|
258
261
|
end
|
259
262
|
|
260
263
|
def test_maxdepth_directory
|
@@ -290,19 +293,31 @@ class TC_File_Find < Test::Unit::TestCase
|
|
290
293
|
@rule2.pattern = "*.min"
|
291
294
|
|
292
295
|
@rule2.mindepth = 0
|
293
|
-
assert_equal(
|
296
|
+
assert_equal(
|
297
|
+
['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'],
|
298
|
+
@rule2.find.map{ |e| File.basename(e) }.sort
|
299
|
+
)
|
294
300
|
|
295
301
|
@rule2.mindepth = 1
|
296
|
-
assert_equal(
|
302
|
+
assert_equal(
|
303
|
+
['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'],
|
304
|
+
@rule2.find.map{ |e| File.basename(e) }.sort
|
305
|
+
)
|
297
306
|
|
298
307
|
@rule2.mindepth = 2
|
299
|
-
assert_equal(
|
308
|
+
assert_equal(
|
309
|
+
['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min'],
|
310
|
+
@rule2.find.map{ |e| File.basename(e) }.sort
|
311
|
+
)
|
300
312
|
|
301
313
|
@rule2.mindepth = 3
|
302
|
-
assert_equal(
|
314
|
+
assert_equal(
|
315
|
+
['b.min', 'c.min', 'd.min', 'e.min', 'f.min'],
|
316
|
+
@rule2.find.map{ |e| File.basename(e) }.sort
|
317
|
+
)
|
303
318
|
|
304
319
|
@rule2.mindepth = 4
|
305
|
-
assert_equal(['d.min', 'e.min', 'f.min'], @rule2.find.map{ |e| File.basename(e) })
|
320
|
+
assert_equal(['d.min', 'e.min', 'f.min'], @rule2.find.map{ |e| File.basename(e) }.sort)
|
306
321
|
|
307
322
|
@rule2.mindepth = 5
|
308
323
|
assert_equal([], @rule2.find.map{ |e| File.basename(e) })
|
@@ -368,7 +383,7 @@ class TC_File_Find < Test::Unit::TestCase
|
|
368
383
|
assert_equal(1, results1.length)
|
369
384
|
assert_equal(2, results2.length)
|
370
385
|
assert_equal('test1.rb', File.basename(results1.first))
|
371
|
-
assert_equal(['test1.rb', 'test1.txt'], results2.map{ |e| File.basename(e) })
|
386
|
+
assert_equal(['test1.rb', 'test1.txt'], results2.map{ |e| File.basename(e) }.sort)
|
372
387
|
end
|
373
388
|
|
374
389
|
def test_prune_basic
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: file-find
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Daniel Berger
|
@@ -9,30 +15,41 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
13
|
-
default_executable:
|
18
|
+
date: 2011-07-15 00:00:00 Z
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: test-unit
|
17
|
-
|
18
|
-
|
19
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
20
25
|
requirements:
|
21
26
|
- - ">="
|
22
27
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
28
|
+
hash: 9
|
29
|
+
segments:
|
30
|
+
- 2
|
31
|
+
- 1
|
32
|
+
- 1
|
33
|
+
version: 2.1.1
|
34
|
+
type: :development
|
35
|
+
version_requirements: *id001
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: sys-admin
|
27
|
-
|
28
|
-
|
29
|
-
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
30
41
|
requirements:
|
31
42
|
- - ">="
|
32
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 7
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 5
|
48
|
+
- 2
|
33
49
|
version: 1.5.2
|
34
|
-
|
35
|
-
|
50
|
+
type: :runtime
|
51
|
+
version_requirements: *id002
|
52
|
+
description: " The file-find library provides a better, more object oriented approach\n to finding files. It allows you to find files based on a variety of\n properties, such as access time, size, owner, etc. You can also limit\n directory depth.\n"
|
36
53
|
email: djberg96@gmail.com
|
37
54
|
executables: []
|
38
55
|
|
@@ -50,7 +67,6 @@ files:
|
|
50
67
|
- Rakefile
|
51
68
|
- README
|
52
69
|
- test/test_file_find.rb
|
53
|
-
has_rdoc: true
|
54
70
|
homepage: http://www.rubyforge.org/projects/shards
|
55
71
|
licenses:
|
56
72
|
- Artistic 2.0
|
@@ -60,21 +76,27 @@ rdoc_options: []
|
|
60
76
|
require_paths:
|
61
77
|
- lib
|
62
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
63
80
|
requirements:
|
64
81
|
- - ">="
|
65
82
|
- !ruby/object:Gem::Version
|
83
|
+
hash: 3
|
84
|
+
segments:
|
85
|
+
- 0
|
66
86
|
version: "0"
|
67
|
-
version:
|
68
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
69
89
|
requirements:
|
70
90
|
- - ">="
|
71
91
|
- !ruby/object:Gem::Version
|
92
|
+
hash: 3
|
93
|
+
segments:
|
94
|
+
- 0
|
72
95
|
version: "0"
|
73
|
-
version:
|
74
96
|
requirements: []
|
75
97
|
|
76
98
|
rubyforge_project: shards
|
77
|
-
rubygems_version: 1.3
|
99
|
+
rubygems_version: 1.8.3
|
78
100
|
signing_key:
|
79
101
|
specification_version: 3
|
80
102
|
summary: A better way to find files
|