file-find 0.3.1-universal-java-1.5 → 0.3.2-universal-java-1.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.3.2 - 20-Feb-2008
2
+ * Added support for the :mount option.
3
+ * Added some basic tests for the :mount option.
4
+
1
5
  == 0.3.1 - 9-Jan-2008
2
6
  * Now defaults to using Etc instead of Sys::Admin for implementations
3
7
  that don't support building C extensions, e.g. JRuby.
data/README CHANGED
@@ -35,6 +35,7 @@ few options, hasn't been updated in over six years and isn't packaged properly.
35
35
  * group (name or id)
36
36
  * maxdepth
37
37
  * mindepth
38
+ * mount
38
39
  * mtime
39
40
  * name (or 'pattern')
40
41
  * path
@@ -73,11 +74,6 @@ supported. These include the following options:
73
74
 
74
75
  * ok - This is not interactive software.
75
76
 
76
- = Options I may or may not support
77
-
78
- * local/mount/xdev - This will probably not be added until I'm satisfied with
79
- the sys-filesystem library. As of sys-filesystem 0.1.x, I'm not.
80
-
81
77
  = Known Issues
82
78
  The 'perm' option does not work on MS Windows, even for its limited subset of
83
79
  permissions, i.e. 664 and 666. This is arguably a bug in Ruby's
@@ -100,12 +96,13 @@ http://www.rubyforge.org/projects/shards.
100
96
  * Richard Clamp's File::Find::Rule Perl module for additional ideas and
101
97
  inspiration.
102
98
  * Bill Kleb for ideas regarding name, group and perm enhancements.
99
+ * Hal Fulton for his implementation of symbolic permissions.
103
100
 
104
101
  = License
105
102
  Ruby's
106
103
 
107
104
  = Copyright
108
- (C) 2007-2008, Daniel J. Berger, All Rights Reserved
105
+ (C) 2007-2009, Daniel J. Berger, All Rights Reserved
109
106
 
110
107
  = Author
111
108
  Daniel J. Berger
data/lib/file/find.rb CHANGED
@@ -11,7 +11,7 @@ end
11
11
 
12
12
  class File::Find
13
13
  # The version of this library
14
- VERSION = '0.3.1'
14
+ VERSION = '0.3.2'
15
15
 
16
16
  # :stopdoc:
17
17
  VALID_OPTIONS = %w/
@@ -23,6 +23,7 @@ class File::Find
23
23
  group
24
24
  maxdepth
25
25
  mindepth
26
+ mount
26
27
  mtime
27
28
  name
28
29
  pattern
@@ -89,11 +90,16 @@ class File::Find
89
90
  #
90
91
  attr_accessor :maxdepth
91
92
 
92
- # Limits search to a minimum depth into the tree relative to the starting
93
+ # Limits searches to a minimum depth into the tree relative to the starting
93
94
  # search directory.
94
95
  #
95
96
  attr_accessor :mindepth
96
97
 
98
+ # Limits searches to the same filesystem as the specified directory. For
99
+ # Windows users, this refers to the volume.
100
+ #
101
+ attr_accessor :mount
102
+
97
103
  # Limits searches by file modification time, where the value you supply is
98
104
  # the number of days back from the time that the File::Find#find method was
99
105
  # called.
@@ -166,6 +172,7 @@ class File::Find
166
172
  @group = nil
167
173
  @follow = true
168
174
  @inum = nil
175
+ @mount = nil
169
176
  @mtime = nil
170
177
  @perm = nil
171
178
  @prune = nil
@@ -179,6 +186,8 @@ class File::Find
179
186
 
180
187
  validate_and_set_options(options) unless options.empty?
181
188
 
189
+ @filesystem = File.stat(@mount).dev if @mount
190
+
182
191
  @path ||= Dir.pwd
183
192
  @name ||= '*'
184
193
  end
@@ -242,6 +251,10 @@ class File::Find
242
251
  glob.tr!(File::ALT_SEPARATOR, File::SEPARATOR)
243
252
  end
244
253
 
254
+ if @mount
255
+ next unless stat_info.dev == @filesystem
256
+ end
257
+
245
258
  if @maxdepth || @mindepth
246
259
  file_depth = file.split(File::SEPARATOR).length
247
260
  path_depth = @path.split(File::SEPARATOR).length
@@ -68,7 +68,7 @@ class TC_File_Find < Test::Unit::TestCase
68
68
  end
69
69
 
70
70
  def test_version
71
- assert_equal('0.3.1', File::Find::VERSION)
71
+ assert_equal('0.3.2', File::Find::VERSION)
72
72
  end
73
73
 
74
74
  def test_path
@@ -306,6 +306,12 @@ class TC_File_Find < Test::Unit::TestCase
306
306
  assert_equal([], @rule2.find)
307
307
  end
308
308
 
309
+ def test_mount_basic
310
+ assert_respond_to(@rule1, :mount)
311
+ assert_respond_to(@rule1, :mount=)
312
+ assert_nil(@rule1.mount)
313
+ end
314
+
309
315
  def test_name_basic
310
316
  assert_respond_to(@rule1, :name)
311
317
  assert_respond_to(@rule1, :name=)
metadata CHANGED
@@ -5,9 +5,9 @@ homepage: http://www.rubyforge.org/projects/shards
5
5
  executables: []
6
6
 
7
7
  version: !ruby/object:Gem::Version
8
- version: 0.3.1
8
+ version: 0.3.2
9
9
  post_install_message:
10
- date: 2009-01-09 07:00:00 +00:00
10
+ date: 2009-02-20 07:00:00 +00:00
11
11
  files:
12
12
  - lib/file
13
13
  - lib/file/find.rb
@@ -55,7 +55,7 @@ dependencies:
55
55
  - - '>='
56
56
  - !ruby/object:Gem::Version
57
57
  version: 2.0.2
58
- description: A better way to find files
58
+ description: A better, object oriented way to find files
59
59
  email: djberg96@gmail.com
60
60
  authors:
61
61
  - Daniel Berger