recls-ruby 2.12.0 → 2.12.0.1

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +27 -24
  3. data/README.md +242 -1
  4. data/examples/find_files_and_directories.md +33 -30
  5. data/examples/find_files_and_directories.recursive.md +255 -254
  6. data/examples/show_hidden_files.md +4 -1
  7. data/examples/show_hidden_files.rb +1 -1
  8. data/examples/show_readonly_files.md +4 -1
  9. data/examples/show_readonly_files.rb +1 -1
  10. data/lib/recls/api.rb +76 -73
  11. data/lib/recls/combine_paths_1.rb +26 -23
  12. data/lib/recls/combine_paths_2plus.rb +32 -29
  13. data/lib/recls/entry.rb +277 -273
  14. data/lib/recls/file_search.rb +194 -193
  15. data/lib/recls/flags.rb +48 -45
  16. data/lib/recls/foreach.rb +105 -98
  17. data/lib/recls/obsolete.rb +85 -79
  18. data/lib/recls/recls.rb +19 -24
  19. data/lib/recls/stat.rb +137 -134
  20. data/lib/recls/util.rb +95 -92
  21. data/lib/recls/version.rb +22 -17
  22. data/lib/recls/ximpl/os.rb +49 -48
  23. data/lib/recls/ximpl/unix.rb +41 -38
  24. data/lib/recls/ximpl/util.rb +600 -599
  25. data/lib/recls/ximpl/windows.rb +142 -139
  26. data/lib/recls.rb +10 -9
  27. data/test/scratch/test_display_parts.rb +33 -33
  28. data/test/scratch/test_entry.rb +6 -6
  29. data/test/scratch/test_files_and_directories.rb +8 -8
  30. data/test/scratch/test_foreach.rb +10 -10
  31. data/test/scratch/test_module_function.rb +33 -33
  32. data/test/scratch/test_pattern_arrays.rb +5 -5
  33. data/test/scratch/test_show_dev_and_ino.rb +1 -1
  34. data/test/scratch/test_show_hidden.rb +3 -3
  35. data/test/unit/tc_recls_entries.rb +31 -31
  36. data/test/unit/tc_recls_entry.rb +19 -19
  37. data/test/unit/tc_recls_file_search.rb +32 -32
  38. data/test/unit/tc_recls_module.rb +25 -25
  39. data/test/unit/tc_recls_util.rb +161 -161
  40. data/test/unit/tc_recls_ximpl_util.rb +676 -676
  41. data/test/unit/test_all_separately.sh +1 -1
  42. data/test/unit/ts_all.rb +4 -4
  43. metadata +7 -7
@@ -1,13 +1,14 @@
1
- # ######################################################################### #
2
- # File: recls/file_search.rb
1
+ # ######################################################################## #
2
+ # File: recls/file_search.rb
3
3
  #
4
- # Purpose: Defines the Recls::FileSearch class for the recls.Ruby library.
4
+ # Purpose: Defines the Recls::FileSearch class for the recls.Ruby library.
5
5
  #
6
- # Created: 24th July 2012
7
- # Updated: 14th April 2019
6
+ # Created: 24th July 2012
7
+ # Updated: 20th April 2024
8
8
  #
9
- # Author: Matthew Wilson
9
+ # Author: Matthew Wilson
10
10
  #
11
+ # Copyright (c) 2019-2024, Matthew Wilson and Synesis Information Systems
11
12
  # Copyright (c) 2012-2019, Matthew Wilson and Synesis Software
12
13
  # All rights reserved.
13
14
  #
@@ -33,295 +34,295 @@
33
34
  # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
35
  # POSSIBILITY OF SUCH DAMAGE.
35
36
  #
36
- # ######################################################################### #
37
+ # ######################################################################## #
37
38
 
38
39
 
39
40
  require 'recls/entry'
40
41
  require 'recls/flags'
41
42
  require 'recls/ximpl/os'
42
43
 
44
+
43
45
  =begin
44
46
  =end
45
47
 
48
+ # @!visibility private
46
49
  class Object; end # :nodoc:
47
50
 
48
51
  module Recls
49
52
 
50
- class FileSearch # :nodoc: all
53
+ class FileSearch # :nodoc: all
51
54
 
52
- include Enumerable
55
+ include Enumerable
53
56
 
54
- # Initialises a +FileSearch+ instance, which acts as an +Enumerable+
55
- # of Recls::Entry
56
- #
57
- # === Signature
58
- #
59
- # * *Parameters:*
60
- # - +search_root+ (String, Recls::Entry) The root directory of the search. May be +nil+, in which case the current directory is assumed
61
- # - +patterns+ (String, Array) The pattern(s) for which to search. May be +nil+, in which case +Recls::WILDCARDS_ALL+ is assumed
62
- # - +options+ (Hash, Integer) Combination of flags (with behaviour as described below for the +flags+ option), or an options hash
63
- #
64
- # * *Options:*
65
- # - +flags+ (Integer) Combination of flags - FILES, DIRECTORIES, RECURSIVE, etc. If the value modulo TYPEMASK is 0, then FILES is assumed
66
- #
67
- # === Return
68
- # An instance of the class
69
- #
70
- def initialize(search_root, patterns, options={})
57
+ # Initialises a +FileSearch+ instance, which acts as an +Enumerable+
58
+ # of +Recls::Entry+
59
+ #
60
+ # === Signature
61
+ #
62
+ # * *Parameters:*
63
+ # - +search_root+ (+String+, +Recls::Entry+) The root directory of the search. May be +nil+, in which case the current directory is assumed;
64
+ # - +patterns+ (+String+, +Array+) The pattern(s) for which to search. May be +nil+, in which case +Recls::WILDCARDS_ALL+ is assumed;
65
+ # - +options+ (+Hash+, +Integer+) Combination of flags (with behaviour as described below for the +flags+ option), or an options hash;
66
+ #
67
+ # * *Options:*
68
+ # - +flags+ (+Integer+) Combination of flags - +Recls::FILES+, +Recls::DIRECTORIES+, +Recls::RECURSIVE+, etc. If the value modulo +Recls::TYPEMASK+ is 0, then +Recls::FILES+ is assumed;
69
+ #
70
+ # === Return
71
+ # An instance of the class.
72
+ def initialize(search_root, patterns, options={})
71
73
 
72
- # for backwards compatibility, we allow for options to
73
- # be a number
74
+ # for backwards compatibility, we allow for options to
75
+ # be a number
74
76
 
75
- flags = 0
77
+ flags = 0
76
78
 
77
- case options
78
- when ::NilClass
79
+ case options
80
+ when ::NilClass
79
81
 
80
- options = { flags: 0 }
81
- when ::Integer
82
+ options = { flags: 0 }
83
+ when ::Integer
82
84
 
83
- flags = options
84
- options = { flags: flags }
85
- when ::Hash
85
+ flags = options
86
+ options = { flags: flags }
87
+ when ::Hash
86
88
 
87
- flags = options[:flags] || 0
88
- else
89
+ flags = options[:flags] || 0
90
+ else
89
91
 
90
- raise ArgumentError, "options parameter must a #{::Hash}, nil, or an integer specifying flags - an instance of #{options.class} given"
91
- end
92
+ raise ArgumentError, "options parameter must a #{::Hash}, nil, or an integer specifying flags - an instance of #{options.class} given"
93
+ end
92
94
 
93
95
 
94
- if not search_root
96
+ if not search_root
95
97
 
96
- search_root = '.'
97
- else
98
+ search_root = '.'
99
+ else
98
100
 
99
- search_root = search_root.to_s
100
- end
101
- search_root = '.' if search_root.empty?
102
- search_root = File.expand_path(search_root) if '~' == search_root[0]
101
+ search_root = search_root.to_s
102
+ end
103
+ search_root = '.' if search_root.empty?
104
+ search_root = File.expand_path(search_root) if '~' == search_root[0]
103
105
 
104
- case patterns
105
- when NilClass
106
+ case patterns
107
+ when NilClass
106
108
 
107
- patterns = []
108
- when String
109
+ patterns = []
110
+ when String
109
111
 
110
- patterns = patterns.split(/[|#{Recls::Ximpl::OS::PATH_SEPARATOR}]/)
111
- when Array
112
- else
112
+ patterns = patterns.split(/[|#{Recls::Ximpl::OS::PATH_SEPARATOR}]/)
113
+ when Array
114
+ else
113
115
 
114
- patterns = patterns.to_a
115
- end
116
+ patterns = patterns.to_a
117
+ end
116
118
 
117
- patterns = [ Recls::WILDCARDS_ALL ] if patterns.empty?
119
+ patterns = [ Recls::WILDCARDS_ALL ] if patterns.empty?
118
120
 
119
- if(0 == (Recls::TYPEMASK & flags))
121
+ if(0 == (Recls::TYPEMASK & flags))
120
122
 
121
- flags |= Recls::FILES
122
- end
123
+ flags |= Recls::FILES
124
+ end
123
125
 
124
- # now de-dup the patterns, to avoid duplicates in search
125
- patterns = patterns.flatten
126
- patterns = patterns.uniq
126
+ # now de-dup the patterns, to avoid duplicates in search
127
+ patterns = patterns.flatten
128
+ patterns = patterns.uniq
127
129
 
128
- @search_root = search_root
129
- @patterns = patterns
130
- @flags = flags
131
- end
130
+ @search_root = search_root
131
+ @patterns = patterns
132
+ @flags = flags
133
+ end
132
134
 
133
- # (String) The search root
134
- attr_reader :search_root
135
- # (String) The search patterns
136
- attr_reader :patterns
137
- # (Integer) The search flags
138
- attr_reader :flags
135
+ # (+String+) The search root
136
+ attr_reader :search_root
137
+ # (+String+) The search patterns
138
+ attr_reader :patterns
139
+ # (+Integer+) The search flags
140
+ attr_reader :flags
139
141
 
140
- # Calls the block once for each found file, passing a single
141
- # parameter that is a Recls::Entry instance
142
- #
143
- # @!visibility private
144
- def each(&blk) # :nodoc:
142
+ # Calls the block once for each found file, passing a single
143
+ # parameter that is a Recls::Entry instance
144
+ #
145
+ # @!visibility private
146
+ def each(&blk) # :nodoc:
145
147
 
146
- search_root = @search_root
147
- search_root = Recls::Ximpl::absolute_path search_root
148
+ search_root = @search_root
149
+ search_root = Recls::Ximpl::absolute_path search_root
148
150
 
149
- search_root = search_root.gsub(/\\/, '/') if Recls::Ximpl::OS::OS_IS_WINDOWS
151
+ search_root = search_root.gsub(/\\/, '/') if Recls::Ximpl::OS::OS_IS_WINDOWS
150
152
 
151
- # set the (type part of the) flags to zero if we want
152
- # everything, to facilitate later optimisation
153
+ # set the (type part of the) flags to zero if we want
154
+ # everything, to facilitate later optimisation
153
155
 
154
- flags = @flags
156
+ flags = @flags
155
157
 
156
- if(Recls::Ximpl::OS::OS_IS_WINDOWS)
158
+ if(Recls::Ximpl::OS::OS_IS_WINDOWS)
157
159
 
158
- mask = (Recls::FILES | Recls::DIRECTORIES)
159
- else
160
+ mask = (Recls::FILES | Recls::DIRECTORIES)
161
+ else
160
162
 
161
- mask = (Recls::FILES | Recls::DIRECTORIES | Recls::LINKS | Recls::DEVICES)
162
- end
163
+ mask = (Recls::FILES | Recls::DIRECTORIES | Recls::LINKS | Recls::DEVICES)
164
+ end
163
165
 
164
- if(mask == (mask & flags))
166
+ if(mask == (mask & flags))
165
167
 
166
- flags = flags & ~Recls::TYPEMASK
167
- end
168
+ flags = flags & ~Recls::TYPEMASK
169
+ end
168
170
 
169
- patterns = @patterns
171
+ patterns = @patterns
170
172
 
171
- patterns = patterns.map do |pattern|
173
+ patterns = patterns.map do |pattern|
172
174
 
173
- pattern = pattern.gsub(/\./, '\\.')
174
- pattern = pattern.gsub(/\?/, '.')
175
- pattern = pattern.gsub(/\*/, '.*')
176
- pattern
177
- end
175
+ pattern = pattern.gsub(/\./, '\\.')
176
+ pattern = pattern.gsub(/\?/, '.')
177
+ pattern = pattern.gsub(/\*/, '.*')
178
+ pattern
179
+ end
178
180
 
179
- search_dir = search_root
180
- search_root = Recls::Ximpl::Util.append_trailing_slash search_root
181
+ search_dir = search_root
182
+ search_root = Recls::Ximpl::Util.append_trailing_slash search_root
181
183
 
182
- FileSearch::search_directory_(search_root, search_dir, patterns, flags, &blk)
183
- end
184
+ FileSearch::search_directory_(search_root, search_dir, patterns, flags, &blk)
185
+ end
184
186
 
185
- private
186
- # @!visibility private
187
- def FileSearch.is_dots(name) # :nodoc:
187
+ private
188
+ # @!visibility private
189
+ def FileSearch.is_dots(name) # :nodoc:
188
190
 
189
- case name
190
- when '.', '..'
191
- true
192
- else
193
- false
194
- end
195
- end
191
+ case name
192
+ when '.', '..'
193
+ true
194
+ else
195
+ false
196
+ end
197
+ end
196
198
 
197
- # @!visibility private
198
- def FileSearch.stat_or_nil_(path, flags) # :nodoc:
199
+ # @!visibility private
200
+ def FileSearch.stat_or_nil_(path, flags) # :nodoc:
199
201
 
200
- begin
202
+ begin
201
203
 
202
- Recls::Ximpl::FileStat.stat path
203
- rescue Errno::ENOENT, Errno::ENXIO
204
+ Recls::Ximpl::FileStat.stat path
205
+ rescue Errno::ENOENT, Errno::ENXIO
204
206
 
205
- nil
206
- rescue SystemCallError => x
207
+ nil
208
+ rescue SystemCallError => x
207
209
 
208
- # TODO this should be filtered up and/or logged
210
+ # TODO this should be filtered up and/or logged
209
211
 
210
- if(0 != (STOP_ON_ACCESS_FAILURE & flags))
212
+ if(0 != (STOP_ON_ACCESS_FAILURE & flags))
211
213
 
212
- raise
213
- end
214
+ raise
215
+ end
214
216
 
215
- nil
216
- end
217
- end
217
+ nil
218
+ end
219
+ end
218
220
 
219
- # searches all entries - files, directories, links, devices
220
- # - that match the given (patterns) in the given directory
221
- # (dir) according to the given (flags), invoking the given
222
- # block (blk). The search directory (search_root) is passed in
223
- # order to allow calculation of search_relative_path in the
224
- # entry.
221
+ # searches all entries - files, directories, links, devices - that match
222
+ # the given +patterns+ in the given directory (+dir+) according to the
223
+ # given +flags+, invoking the given block (+blk+). The search directory
224
+ # (+search_root+) is passed in order to allow calculation of
225
+ # +#search_relative_path+ in the entry.
225
226
 
226
- # @!visibility private
227
- def FileSearch.search_directory_(search_root, dir, patterns, flags, &blk) # :nodoc:
227
+ # @!visibility private
228
+ def FileSearch.search_directory_(search_root, dir, patterns, flags, &blk) # :nodoc:
228
229
 
229
- # array of FileStat instances
230
- entries = []
230
+ # array of FileStat instances
231
+ entries = []
231
232
 
232
- patterns.each do |pattern|
233
+ patterns.each do |pattern|
233
234
 
234
- Recls::Ximpl::dir_entries_maybe(dir, flags).each do |name|
235
+ Recls::Ximpl::dir_entries_maybe(dir, flags).each do |name|
235
236
 
236
- next if is_dots(name)
237
+ next if is_dots(name)
237
238
 
238
- if not name =~ /^#{pattern}$/
239
+ if not name =~ /^#{pattern}$/
239
240
 
240
- next
241
- end
241
+ next
242
+ end
242
243
 
243
- entry_path = File::join(dir, name)
244
+ entry_path = File::join(dir, name)
244
245
 
245
- fs = stat_or_nil_(entry_path, flags)
246
+ fs = stat_or_nil_(entry_path, flags)
246
247
 
247
- entries << fs
248
- end
249
- end
248
+ entries << fs
249
+ end
250
+ end
250
251
 
251
- # array of FileStat instances
252
- subdirectories = []
252
+ # array of FileStat instances
253
+ subdirectories = []
253
254
 
254
- Recls::Ximpl::dir_entries_maybe(dir, flags).each do |subdir|
255
+ Recls::Ximpl::dir_entries_maybe(dir, flags).each do |subdir|
255
256
 
256
- next if is_dots(subdir)
257
+ next if is_dots(subdir)
257
258
 
258
- subdir_path = File::join(dir, subdir)
259
+ subdir_path = File::join(dir, subdir)
259
260
 
260
- fs = stat_or_nil_(subdir_path, flags)
261
+ fs = stat_or_nil_(subdir_path, flags)
261
262
 
262
- next if not fs
263
+ next if not fs
263
264
 
264
- next unless fs.directory?
265
+ next unless fs.directory?
265
266
 
266
- subdirectories << fs
267
- end
267
+ subdirectories << fs
268
+ end
268
269
 
269
270
 
270
- # now filter the file-stat instances and send each
271
- # remaining to the block in Entry instance
272
- entries.each do |fs|
271
+ # now filter the file-stat instances and send each
272
+ # remaining to the block in Entry instance
273
+ entries.each do |fs|
273
274
 
274
- next if not fs
275
+ next if not fs
275
276
 
276
- if(0 == (Recls::SHOW_HIDDEN & flags))
277
+ if(0 == (Recls::SHOW_HIDDEN & flags))
277
278
 
278
- if fs.hidden?
279
+ if fs.hidden?
279
280
 
280
- next
281
- end
282
- end
281
+ next
282
+ end
283
+ end
283
284
 
284
- match = false
285
+ match = false
285
286
 
286
- match ||= (0 == (Recls::TYPEMASK & flags))
287
+ match ||= (0 == (Recls::TYPEMASK & flags))
287
288
 
288
- match ||= (0 != (Recls::FILES & flags) && fs.file?)
289
- match ||= (0 != (Recls::DIRECTORIES & flags) && fs.directory?)
290
- match ||= (0 != (Recls::DEVICES & flags) && fs.blockdev?)
289
+ match ||= (0 != (Recls::FILES & flags) && fs.file?)
290
+ match ||= (0 != (Recls::DIRECTORIES & flags) && fs.directory?)
291
+ match ||= (0 != (Recls::DEVICES & flags) && fs.blockdev?)
291
292
 
292
- next unless match
293
+ next unless match
293
294
 
294
- blk.call Recls::Entry.new(fs.path, fs, search_root, flags)
295
- end
295
+ blk.call Recls::Entry.new(fs.path, fs, search_root, flags)
296
+ end
296
297
 
297
- # sub-directories
298
+ # sub-directories
298
299
 
299
- return unless (0 != (Recls::RECURSIVE & flags))
300
+ return unless (0 != (Recls::RECURSIVE & flags))
300
301
 
301
- subdirectories.each do |fs|
302
+ subdirectories.each do |fs|
302
303
 
303
- if(0 == (Recls::SHOW_HIDDEN & flags))
304
+ if(0 == (Recls::SHOW_HIDDEN & flags))
304
305
 
305
- if fs.hidden?
306
+ if fs.hidden?
306
307
 
307
- next
308
- end
309
- end
308
+ next
309
+ end
310
+ end
310
311
 
311
- if(0 == (Recls::SEARCH_THROUGH_LINKS & flags))
312
+ if(0 == (Recls::SEARCH_THROUGH_LINKS & flags))
312
313
 
313
- if File.symlink? fs.path
314
+ if File.symlink? fs.path
314
315
 
315
- next
316
- end
317
- end
316
+ next
317
+ end
318
+ end
318
319
 
319
- FileSearch::search_directory_(search_root, fs.path, patterns, flags, &blk)
320
- end
321
- end
322
- end # class FileSearch
320
+ FileSearch::search_directory_(search_root, fs.path, patterns, flags, &blk)
321
+ end
322
+ end
323
+ end # class FileSearch
323
324
  end # module Recls
324
325
 
325
- # ############################## end of file ############################# #
326
326
 
327
+ # ############################## end of file ############################# #
327
328
 
data/lib/recls/flags.rb CHANGED
@@ -1,13 +1,14 @@
1
- # ######################################################################### #
2
- # File: recls/flags.rb
1
+ # ######################################################################## #
2
+ # File: recls/flags.rb
3
3
  #
4
- # Purpose: Defines the Recls::Flags module for the recls.Ruby library.
4
+ # Purpose: Defines the Recls::Flags module for the recls.Ruby library.
5
5
  #
6
- # Created: 24th July 2012
7
- # Updated: 14th April 2019
6
+ # Created: 24th July 2012
7
+ # Updated: 20th April 2024
8
8
  #
9
- # Author: Matthew Wilson
9
+ # Author: Matthew Wilson
10
10
  #
11
+ # Copyright (c) 2019-2024, Matthew Wilson and Synesis Information Systems
11
12
  # Copyright (c) 2012-2019, Matthew Wilson and Synesis Software
12
13
  # All rights reserved.
13
14
  #
@@ -33,62 +34,64 @@
33
34
  # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
35
  # POSSIBILITY OF SUCH DAMAGE.
35
36
  #
36
- # ######################################################################### #
37
+ # ######################################################################## #
37
38
 
38
39
 
39
40
  =begin
40
41
  =end
41
42
 
43
+ # @!visibility private
42
44
  class Object; end # :nodoc:
43
45
 
44
46
  module Recls
45
47
 
46
- # Specifies that files are to be listed
47
- FILES = 0x00000001
48
- # Specifies that directories are to be listed
49
- DIRECTORIES = 0x00000002
50
- # Specifies that links are to be listed (and not followed)
51
- LINKS = 0x00000004
52
- # Specifies that devices are to be listed
53
- DEVICES = 0x00000008
54
- # Type mask (combination of Recls::FILES, Recls::DIRECTORIES, Recls::LINKS, Recls::DEVICES)
55
- TYPEMASK = 0x000000ff
48
+ # Specifies that files are to be listed
49
+ FILES = 0x00000001
50
+ # Specifies that directories are to be listed
51
+ DIRECTORIES = 0x00000002
52
+ # Specifies that links are to be listed (and not followed)
53
+ LINKS = 0x00000004
54
+ # Specifies that devices are to be listed
55
+ DEVICES = 0x00000008
56
+ # Type mask (combination of +Recls::FILES+, +Recls::DIRECTORIES+, +Recls::LINKS+, +Recls::DEVICES+)
57
+ TYPEMASK = 0x000000ff
56
58
 
57
- # Specifies that hidden items are to be shown and hidden directories are
58
- # to be searched
59
- SHOW_HIDDEN = 0x00000100
59
+ # Specifies that hidden items are to be shown and hidden directories are
60
+ # to be searched
61
+ SHOW_HIDDEN = 0x00000100
60
62
 
61
- # [IGNORED] This for compatibility with *recls* libraries written in other languages
62
- DIR_PROGRESS = 0x00001000
63
- # Causes search to terminate if a directory cannot be entered or an
64
- # entry's information cannot be stat()'d
65
- STOP_ON_ACCESS_FAILURE = 0x00002000
66
- # [IGNORED] This for compatibility with *recls* libraries written in other languages
67
- LINK_COUNT = 0000004000
68
- # [IGNORED] This for compatibility with *recls* libraries written in other languages
69
- NODE_INDEX = 0x00008000
63
+ # [IGNORED] This for compatibility with *recls* libraries written in other languages
64
+ DIR_PROGRESS = 0x00001000
65
+ # Causes search to terminate if a directory cannot be entered or an
66
+ # entry's information cannot be +stat()+'d
67
+ STOP_ON_ACCESS_FAILURE = 0x00002000
68
+ # [IGNORED] This for compatibility with *recls* libraries written in other languages
69
+ LINK_COUNT = 0000004000
70
+ # [IGNORED] This for compatibility with *recls* libraries written in other languages
71
+ NODE_INDEX = 0x00008000
70
72
 
71
- # Causes search to operate recursively
72
- RECURSIVE = 0x00010000
73
+ # Causes search to operate recursively
74
+ RECURSIVE = 0x00010000
73
75
  private
74
- NO_SEARCH_LINKS = 0x00020000 # :nodoc:
76
+ # @!visibility private
77
+ NO_SEARCH_LINKS = 0x00020000 # :nodoc:
75
78
  public
76
- # [IGNORED] In previous versions the Recls::Entry#directory_parts property was not obtained (for performance reasons) unless this flag was specified. In current version the parts are always obtained
77
- DIRECTORY_PARTS = 0x00040000
78
- # Causes operations (such as Recls::stat()) to obtain a result even when
79
- # no corresponding file-system entity does not exist
80
- DETAILS_LATER = 0x00080000
79
+ # [IGNORED] In previous versions the Recls::Entry#directory_parts property was not obtained (for performance reasons) unless this flag was specified. In current version the parts are always obtained
80
+ DIRECTORY_PARTS = 0x00040000
81
+ # Causes operations (such as +Recls::stat()+) to obtain a result even when
82
+ # no corresponding file-system entity does not exist
83
+ DETAILS_LATER = 0x00080000
81
84
 
82
- # Causes the Recls::Entry#path and Recls::Entry#search_relative_path
83
- # attributes to contain a trailing path-name-separator for directory
84
- # entries
85
- MARK_DIRECTORIES = 0x00200000
85
+ # Causes the +Recls::Entry#path+ and +Recls::Entry#search_relative_path+
86
+ # attributes to contain a trailing path-name-separator for directory
87
+ # entries
88
+ MARK_DIRECTORIES = 0x00200000
86
89
 
87
- # Causes sub-directories that are links to be searched; default is not
88
- # to search through links
89
- SEARCH_THROUGH_LINKS = 0x00100000
90
+ # Causes sub-directories that are links to be searched; default is not
91
+ # to search through links
92
+ SEARCH_THROUGH_LINKS = 0x00100000
90
93
  end # module Recls
91
94
 
92
- # ############################## end of file ############################# #
93
95
 
96
+ # ############################## end of file ############################# #
94
97