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/ximpl/windows.rb
1
+ # ######################################################################## #
2
+ # File: recls/ximpl/windows.rb
3
3
  #
4
- # Purpose: Windows-specific constructs for the recls library.
4
+ # Purpose: Windows-specific constructs for the recls library.
5
5
  #
6
- # Created: 19th February 2014
7
- # Updated: 14th April 2019
6
+ # Created: 19th February 2014
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,197 +34,199 @@
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 'Win32API'
40
41
 
42
+
41
43
  =begin
42
44
  =end
43
45
 
44
- module Recls # :nodoc:
45
-
46
46
  # :stopdoc:
47
47
 
48
- module Ximpl # :nodoc: all
48
+ module Recls # :nodoc:
49
49
 
50
- # @!visibility private
51
- class FileStat < File::Stat # :nodoc:
50
+ # @!visibility private
51
+ module Ximpl # :nodoc: all
52
52
 
53
- private
54
- GetFileAttributes = Win32API.new('kernel32', 'GetFileAttributes', [ 'P' ], 'I')
55
- GetFileInformationByHandle = Win32API.new('kernel32', 'GetFileInformationByHandle', [ 'L', 'P' ], 'I')
56
- GetShortPathName = Win32API.new('kernel32', 'GetShortPathName', [ 'P', 'P', 'L' ], 'L')
57
- CreateFile = Win32API.new('kernel32', 'CreateFile', [ 'P', 'L', 'L', 'L', 'L', 'L', 'L' ], 'L')
58
- CloseHandle = Win32API.new('kernel32', 'CloseHandle', [ 'L' ], 'L')
59
- FILE_ATTRIBUTE_READONLY = 0x00000001
60
- FILE_ATTRIBUTE_HIDDEN = 0x00000002
61
- FILE_ATTRIBUTE_SYSTEM = 0x00000004
62
- FILE_ATTRIBUTE_DIRECTORY = 0x00000010
63
- FILE_ATTRIBUTE_ARCHIVE = 0x00000020
64
- FILE_ATTRIBUTE_DEVICE = 0x00000040
65
- FILE_ATTRIBUTE_NORMAL = 0x00000080
66
- FILE_ATTRIBUTE_TEMPORARY = 0x00000100
67
- FILE_ATTRIBUTE_COMPRESSED = 0x00000800
68
- FILE_ATTRIBUTE_ENCRYPTED = 0x00004000
53
+ # @!visibility private
54
+ class FileStat < File::Stat # :nodoc:
69
55
 
70
- OPEN_EXISTING = 0x00000003
71
- FILE_FLAG_OVERLAPPED = 0x40000000
72
- NULL = 0x00000000
73
- INVALID_HANDLE_VALUE = 0xFFFFFFFF
56
+ private
57
+ GetFileAttributes = Win32API.new('kernel32', 'GetFileAttributes', [ 'P' ], 'I')
58
+ GetFileInformationByHandle = Win32API.new('kernel32', 'GetFileInformationByHandle', [ 'L', 'P' ], 'I')
59
+ GetShortPathName = Win32API.new('kernel32', 'GetShortPathName', [ 'P', 'P', 'L' ], 'L')
60
+ CreateFile = Win32API.new('kernel32', 'CreateFile', [ 'P', 'L', 'L', 'L', 'L', 'L', 'L' ], 'L')
61
+ CloseHandle = Win32API.new('kernel32', 'CloseHandle', [ 'L' ], 'L')
62
+ FILE_ATTRIBUTE_READONLY = 0x00000001
63
+ FILE_ATTRIBUTE_HIDDEN = 0x00000002
64
+ FILE_ATTRIBUTE_SYSTEM = 0x00000004
65
+ FILE_ATTRIBUTE_DIRECTORY = 0x00000010
66
+ FILE_ATTRIBUTE_ARCHIVE = 0x00000020
67
+ FILE_ATTRIBUTE_DEVICE = 0x00000040
68
+ FILE_ATTRIBUTE_NORMAL = 0x00000080
69
+ FILE_ATTRIBUTE_TEMPORARY = 0x00000100
70
+ FILE_ATTRIBUTE_COMPRESSED = 0x00000800
71
+ FILE_ATTRIBUTE_ENCRYPTED = 0x00004000
72
+
73
+ OPEN_EXISTING = 0x00000003
74
+ FILE_FLAG_OVERLAPPED = 0x40000000
75
+ NULL = 0x00000000
76
+ INVALID_HANDLE_VALUE = 0xFFFFFFFF
74
77
 
75
- MAX_PATH = 260
78
+ MAX_PATH = 260
76
79
 
77
- BHFI_pack_string = 'LQQQLLLLLL'
80
+ BHFI_pack_string = 'LQQQLLLLLL'
78
81
 
79
- # @!visibility private
80
- class ByHandleInformation # :nodoc:
82
+ # @!visibility private
83
+ class ByHandleInformation # :nodoc:
81
84
 
82
- # @!visibility private
83
- def initialize(path) # :nodoc:
85
+ # @!visibility private
86
+ def initialize(path) # :nodoc:
84
87
 
85
- @volume_id = 0
86
- @file_index = 0
87
- @num_links = 0
88
+ @volume_id = 0
89
+ @file_index = 0
90
+ @num_links = 0
88
91
 
89
- # for some reason not forcing this new string causes 'can't modify frozen string (TypeError)' (in Ruby 1.8.x)
90
- hFile = CreateFile.call("#{path}", 0, 0, NULL, OPEN_EXISTING, 0, NULL);
91
- if INVALID_HANDLE_VALUE != hFile
92
+ # for some reason not forcing this new string causes 'can't modify frozen string (TypeError)' (in Ruby 1.8.x)
93
+ hFile = CreateFile.call("#{path}", 0, 0, NULL, OPEN_EXISTING, 0, NULL);
94
+ if INVALID_HANDLE_VALUE != hFile
92
95
 
93
- begin
94
- bhfi = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
95
- bhfi = bhfi.pack(BHFI_pack_string)
96
+ begin
97
+ bhfi = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
98
+ bhfi = bhfi.pack(BHFI_pack_string)
96
99
 
97
- if GetFileInformationByHandle.call(hFile, bhfi)
100
+ if GetFileInformationByHandle.call(hFile, bhfi)
98
101
 
99
- bhfi = bhfi.unpack(BHFI_pack_string)
102
+ bhfi = bhfi.unpack(BHFI_pack_string)
100
103
 
101
- @volume_id = bhfi[4]
102
- @file_index = (bhfi[8] << 32) | bhfi[9]
103
- @num_links = bhfi[7]
104
- else
105
- end
106
- ensure
107
- CloseHandle.call(hFile)
108
- end
109
- end
110
- end
104
+ @volume_id = bhfi[4]
105
+ @file_index = (bhfi[8] << 32) | bhfi[9]
106
+ @num_links = bhfi[7]
107
+ else
108
+ end
109
+ ensure
110
+ CloseHandle.call(hFile)
111
+ end
112
+ end
113
+ end
111
114
 
112
- # @!visibility private
113
- attr_reader :volume_id
114
- # @!visibility private
115
- attr_reader :file_index
116
- # @!visibility private
117
- attr_reader :num_links
118
- end
115
+ # @!visibility private
116
+ attr_reader :volume_id
117
+ # @!visibility private
118
+ attr_reader :file_index
119
+ # @!visibility private
120
+ attr_reader :num_links
121
+ end
119
122
 
120
- private
121
- # @!visibility private
122
- def has_attribute_? (attr) # :nodoc:
123
+ private
124
+ # @!visibility private
125
+ def has_attribute_? (attr) # :nodoc:
123
126
 
124
- 0 != (attr & @attributes)
125
- end
127
+ 0 != (attr & @attributes)
128
+ end
126
129
 
127
- private
128
- # @!visibility private
129
- def initialize(path) # :nodoc:
130
+ private
131
+ # @!visibility private
132
+ def initialize(path) # :nodoc:
130
133
 
131
- @path = path
134
+ @path = path
132
135
 
133
- # for some reason not forcing this new string causes 'can't modify frozen string (TypeError)'
134
- attributes = GetFileAttributes.call("#{path}")
136
+ # for some reason not forcing this new string causes 'can't modify frozen string (TypeError)'
137
+ attributes = GetFileAttributes.call("#{path}")
135
138
 
136
- if 0xffffffff == attributes
139
+ if 0xffffffff == attributes
137
140
 
138
- @attributes = 0
139
- else
141
+ @attributes = 0
142
+ else
140
143
 
141
- @attributes = attributes
142
- end
144
+ @attributes = attributes
145
+ end
143
146
 
144
- super(path)
147
+ super(path)
145
148
 
146
- @by_handle_information = ByHandleInformation.new(path)
149
+ @by_handle_information = ByHandleInformation.new(path)
147
150
 
148
- buff = ' ' * MAX_PATH
149
- # not forcing this new string causes 'can't modify frozen string (TypeError)'
150
- n = GetShortPathName.call("#{path}", buff, buff.length)
151
- @short_path = (0 == n) ? nil : buff[0...n]
152
- end
151
+ buff = ' ' * MAX_PATH
152
+ # not forcing this new string causes 'can't modify frozen string (TypeError)'
153
+ n = GetShortPathName.call("#{path}", buff, buff.length)
154
+ @short_path = (0 == n) ? nil : buff[0...n]
155
+ end
153
156
 
154
- public
155
- # @!visibility private
156
- attr_reader :attributes
157
- # @!visibility private
158
- attr_reader :path
159
- # @!visibility private
160
- attr_reader :by_handle_information
161
- # @!visibility private
162
- attr_reader :short_path
157
+ public
158
+ # @!visibility private
159
+ attr_reader :attributes
160
+ # @!visibility private
161
+ attr_reader :path
162
+ # @!visibility private
163
+ attr_reader :by_handle_information
164
+ # @!visibility private
165
+ attr_reader :short_path
163
166
 
164
- # @!visibility private
165
- def hidden? # :nodoc:
167
+ # @!visibility private
168
+ def hidden? # :nodoc:
166
169
 
167
- 0 != (FILE_ATTRIBUTE_HIDDEN & @attributes)
168
- end
170
+ 0 != (FILE_ATTRIBUTE_HIDDEN & @attributes)
171
+ end
169
172
 
170
- # Windows-specific attributes
173
+ # Windows-specific attributes
171
174
 
172
- # @!visibility private
173
- def system? # :nodoc:
175
+ # @!visibility private
176
+ def system? # :nodoc:
174
177
 
175
- has_attribute_? FILE_ATTRIBUTE_SYSTEM
176
- end
178
+ has_attribute_? FILE_ATTRIBUTE_SYSTEM
179
+ end
177
180
 
178
- # @!visibility private
179
- def archive? # :nodoc:
181
+ # @!visibility private
182
+ def archive? # :nodoc:
180
183
 
181
- has_attribute_? FILE_ATTRIBUTE_ARCHIVE
182
- end
184
+ has_attribute_? FILE_ATTRIBUTE_ARCHIVE
185
+ end
183
186
 
184
- # @!visibility private
185
- def device? # :nodoc:
187
+ # @!visibility private
188
+ def device? # :nodoc:
186
189
 
187
- has_attribute_? FILE_ATTRIBUTE_DEVICE
188
- end
190
+ has_attribute_? FILE_ATTRIBUTE_DEVICE
191
+ end
189
192
 
190
- # @!visibility private
191
- def normal? # :nodoc:
193
+ # @!visibility private
194
+ def normal? # :nodoc:
192
195
 
193
- has_attribute_? FILE_ATTRIBUTE_NORMAL
194
- end
196
+ has_attribute_? FILE_ATTRIBUTE_NORMAL
197
+ end
195
198
 
196
- # @!visibility private
197
- def temporary? # :nodoc:
199
+ # @!visibility private
200
+ def temporary? # :nodoc:
198
201
 
199
- has_attribute_? FILE_ATTRIBUTE_TEMPORARY
200
- end
202
+ has_attribute_? FILE_ATTRIBUTE_TEMPORARY
203
+ end
201
204
 
202
- # @!visibility private
203
- def compressed? # :nodoc:
205
+ # @!visibility private
206
+ def compressed? # :nodoc:
204
207
 
205
- has_attribute_? FILE_ATTRIBUTE_COMPRESSED
206
- end
208
+ has_attribute_? FILE_ATTRIBUTE_COMPRESSED
209
+ end
207
210
 
208
- # @!visibility private
209
- def encrypted? # :nodoc:
211
+ # @!visibility private
212
+ def encrypted? # :nodoc:
210
213
 
211
- has_attribute_? FILE_ATTRIBUTE_ENCRYPTED
212
- end
214
+ has_attribute_? FILE_ATTRIBUTE_ENCRYPTED
215
+ end
213
216
 
214
217
 
215
- public
216
- # @!visibility private
217
- def FileStat.stat(path) # :nodoc:
218
+ public
219
+ # @!visibility private
220
+ def FileStat.stat(path) # :nodoc:
218
221
 
219
- Recls::Ximpl::FileStat.new(path)
220
- end
221
- end # class FileStat
222
- end # module Ximpl
222
+ Recls::Ximpl::FileStat.new(path)
223
+ end
224
+ end # class FileStat
225
+ end # module Ximpl
226
+ end # module Recls
223
227
 
224
228
  # :startdoc:
225
229
 
226
- end # module Recls
227
230
 
228
231
  # ############################## end of file ############################# #
229
232
 
data/lib/recls.rb CHANGED
@@ -1,14 +1,15 @@
1
- # ######################################################################### #
2
- # File: recls.rb
1
+ # ######################################################################## #
2
+ # File: recls.rb
3
3
  #
4
- # Purpose: Top-level include for recls.Ruby library
4
+ # Purpose: Top-level include for recls.Ruby library
5
5
  #
6
- # Created: 13th January 2012
7
- # Updated: 27th August 2015
6
+ # Created: 13th January 2012
7
+ # Updated: 20th April 2024
8
8
  #
9
- # Author: Matthew Wilson
9
+ # Author: Matthew Wilson
10
10
  #
11
- # Copyright (c) 2012-2015, Matthew Wilson and Synesis Software
11
+ # Copyright (c) 2019-2024, Matthew Wilson and Synesis Information Systems
12
+ # Copyright (c) 2012-2019, Matthew Wilson and Synesis Software
12
13
  # All rights reserved.
13
14
  #
14
15
  # Redistribution and use in source and binary forms, with or without
@@ -33,11 +34,11 @@
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/recls'
40
41
 
41
- # ############################## end of file ############################# #
42
42
 
43
+ # ############################## end of file ############################# #
43
44
 
@@ -6,41 +6,41 @@ $:.unshift File.join(File.dirname(__FILE__), '../..', 'lib')
6
6
 
7
7
  require 'recls'
8
8
 
9
- root_dir = '.'
10
- patterns = Recls::WILDCARDS_ALL
9
+ root_dir = '.'
10
+ patterns = Recls::WILDCARDS_ALL
11
11
 
12
12
  Recls::FileSearch.new(root_dir, patterns, Recls::FILES | Recls::RECURSIVE).each do |fe|
13
13
 
14
- drive = fe.drive || ''
15
-
16
- puts
17
- puts "entry:"
18
- puts fe.path
19
- puts fe.short_path
20
- puts fe.directory_path
21
- puts drive
22
- puts "".ljust(drive ? drive.size : 0) + fe.directory.to_s
23
- puts "".ljust(fe.directory_path.size) + fe.file.to_s
24
- puts "".ljust(fe.directory_path.size) + fe.file_short_name.to_s
25
- puts "".ljust(fe.directory_path.size) + fe.stem.to_s
26
- puts "".ljust(fe.directory_path.size + fe.stem.size) + fe.extension.to_s
27
- n = drive.size
28
- fe.directory_parts.each do |part|
29
-
30
- puts "".ljust(n) + part
31
- n += part.size
32
- end
33
-
34
- puts fe.search_directory
35
- puts "".ljust(fe.search_directory.size) + fe.search_relative_path.to_s
36
- puts "".ljust(fe.search_directory.size) + fe.search_relative_directory_path.to_s
37
- puts "".ljust(fe.search_directory.size) + fe.search_relative_directory.to_s
38
-
39
- n = fe.search_directory.size
40
- fe.search_relative_directory_parts.each do |part|
41
-
42
- puts "".ljust(n) + part
43
- n += part.size
44
- end
14
+ drive = fe.drive || ''
15
+
16
+ puts
17
+ puts "entry:"
18
+ puts fe.path
19
+ puts fe.short_path
20
+ puts fe.directory_path
21
+ puts drive
22
+ puts "".ljust(drive ? drive.size : 0) + fe.directory.to_s
23
+ puts "".ljust(fe.directory_path.size) + fe.file.to_s
24
+ puts "".ljust(fe.directory_path.size) + fe.file_short_name.to_s
25
+ puts "".ljust(fe.directory_path.size) + fe.stem.to_s
26
+ puts "".ljust(fe.directory_path.size + fe.stem.size) + fe.extension.to_s
27
+ n = drive.size
28
+ fe.directory_parts.each do |part|
29
+
30
+ puts "".ljust(n) + part
31
+ n += part.size
32
+ end
33
+
34
+ puts fe.search_directory
35
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_path.to_s
36
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_directory_path.to_s
37
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_directory.to_s
38
+
39
+ n = fe.search_directory.size
40
+ fe.search_relative_directory_parts.each do |part|
41
+
42
+ puts "".ljust(n) + part
43
+ n += part.size
44
+ end
45
45
  end
46
46
 
@@ -22,7 +22,7 @@ puts "\t#{'f.directory'.ljust(20)}\t#{f.directory}"
22
22
  directory_parts = f.directory_parts
23
23
  puts "\t#{'f.directory_parts'.ljust(20)}\t[#{directory_parts.size}]"
24
24
  directory_parts.each do |part|
25
- puts "\t#{''.ljust(20)}\t\t#{part}"
25
+ puts "\t#{''.ljust(20)}\t\t#{part}"
26
26
  end
27
27
  puts "\t#{'f.file_full_name'.ljust(20)}\t#{f.file_full_name}"
28
28
  puts "\t#{'f.file_short_name'.ljust(20)}\t#{f.file_short_name}"
@@ -36,7 +36,7 @@ puts "\t#{'f.search_relative_directory_path'.ljust(20)}\t#{f.search_relative_dir
36
36
  search_relative_directory_parts = f.search_relative_directory_parts
37
37
  puts "\t#{'f.search_relative_directory_parts'.ljust(20)}\t[#{search_relative_directory_parts.size}]"
38
38
  search_relative_directory_parts.each do |part|
39
- puts "\t#{''.ljust(20)}\t\t#{part}"
39
+ puts "\t#{''.ljust(20)}\t\t#{part}"
40
40
  end
41
41
 
42
42
  puts "\t#{'f.size'.ljust(20)}\t#{f.size}"
@@ -66,8 +66,8 @@ puts "directories:"
66
66
  num_directories = 0
67
67
  Recls::FileSearch.new('.', '*', Recls::DIRECTORIES).each do |fe|
68
68
 
69
- num_directories += 1
70
- puts "\t[#{fe.search_relative_path}]"
69
+ num_directories += 1
70
+ puts "\t[#{fe.search_relative_path}]"
71
71
  end
72
72
  puts " #{num_directories} directories"
73
73
 
@@ -76,8 +76,8 @@ puts "files:"
76
76
  num_files = 0
77
77
  Recls::FileSearch.new('.', '*.rb', Recls::RECURSIVE | Recls::FILES).each do |fe|
78
78
 
79
- num_files += 1
80
- puts "\t<#{fe.search_relative_path}>"
79
+ num_files += 1
80
+ puts "\t<#{fe.search_relative_path}>"
81
81
  end
82
82
  puts " #{num_files} file(s)"
83
83
 
@@ -12,15 +12,15 @@ puts
12
12
 
13
13
  Recls::FileSearch.new(nil, nil, Recls::FILES | Recls::DIRECTORIES | Recls::RECURSIVE).each do |fe|
14
14
 
15
- path = fe.search_relative_path
15
+ path = fe.search_relative_path
16
16
 
17
- if fe.directory?
17
+ if fe.directory?
18
18
 
19
- puts path + '/'
20
- else
19
+ puts path + '/'
20
+ else
21
21
 
22
- puts path
23
- end
22
+ puts path
23
+ end
24
24
  end
25
25
 
26
26
  puts
@@ -29,8 +29,8 @@ puts
29
29
 
30
30
  Recls::FileSearch.new(nil, nil, Recls::FILES | Recls::DIRECTORIES | Recls::RECURSIVE | Recls::MARK_DIRECTORIES).each do |fe|
31
31
 
32
- path = fe.search_relative_path
32
+ path = fe.search_relative_path
33
33
 
34
- puts path
34
+ puts path
35
35
  end
36
36
 
@@ -11,13 +11,13 @@ puts "with given block:"
11
11
  count_1 = 0
12
12
  Recls.foreach(Recls::FileSearch.new(nil, '*.rb', Recls::RECURSIVE)).each do |line, line_number, fe|
13
13
 
14
- line = line.chomp
15
- line_number = 1 + line_number
14
+ line = line.chomp
15
+ line_number = 1 + line_number
16
16
 
17
- puts "#{fe.search_relative_path}(#{line_number + 1}): #{line}"
17
+ puts "#{fe.search_relative_path}(#{line_number + 1}): #{line}"
18
18
 
19
- count_1 += 1
20
- break if 20 == count_1
19
+ count_1 += 1
20
+ break if 20 == count_1
21
21
  end
22
22
 
23
23
  puts
@@ -26,13 +26,13 @@ e = Recls.foreach(Recls::FileSearch.new(nil, '*.rb', Recls::RECURSIVE))
26
26
  count_2 = 0
27
27
  e.each do |line, line_number, fe|
28
28
 
29
- line = line.chomp
30
- line_number = 1 + line_number
29
+ line = line.chomp
30
+ line_number = 1 + line_number
31
31
 
32
- puts "#{fe.search_relative_path}(#{line_number + 1}): #{line}"
32
+ puts "#{fe.search_relative_path}(#{line_number + 1}): #{line}"
33
33
 
34
- count_2 += 1
35
- break if 20 == count_2
34
+ count_2 += 1
35
+ break if 20 == count_2
36
36
  end
37
37
 
38
38
 
@@ -6,41 +6,41 @@ $:.unshift File.join(File.dirname(__FILE__), '../..', 'lib')
6
6
 
7
7
  require 'recls'
8
8
 
9
- root_dir = '.'
10
- patterns = Recls::WILDCARDS_ALL
9
+ root_dir = '.'
10
+ patterns = Recls::WILDCARDS_ALL
11
11
 
12
12
  Recls.FileSearch(root_dir, patterns, flags: Recls::FILES).each do |fe|
13
13
 
14
- drive = fe.drive || ''
15
-
16
- puts
17
- puts "entry:"
18
- puts fe.path
19
- puts fe.short_path
20
- puts fe.directory_path
21
- puts drive
22
- puts "".ljust(drive ? drive.size : 0) + fe.directory.to_s
23
- puts "".ljust(fe.directory_path.size) + fe.file.to_s
24
- puts "".ljust(fe.directory_path.size) + fe.file_short_name.to_s
25
- puts "".ljust(fe.directory_path.size) + fe.stem.to_s
26
- puts "".ljust(fe.directory_path.size + fe.stem.size) + fe.extension.to_s
27
- n = drive.size
28
- fe.directory_parts.each do |part|
29
-
30
- puts "".ljust(n) + part
31
- n += part.size
32
- end
33
-
34
- puts fe.search_directory
35
- puts "".ljust(fe.search_directory.size) + fe.search_relative_path.to_s
36
- puts "".ljust(fe.search_directory.size) + fe.search_relative_directory_path.to_s
37
- puts "".ljust(fe.search_directory.size) + fe.search_relative_directory.to_s
38
-
39
- n = fe.search_directory.size
40
- fe.search_relative_directory_parts.each do |part|
41
-
42
- puts "".ljust(n) + part
43
- n += part.size
44
- end
14
+ drive = fe.drive || ''
15
+
16
+ puts
17
+ puts "entry:"
18
+ puts fe.path
19
+ puts fe.short_path
20
+ puts fe.directory_path
21
+ puts drive
22
+ puts "".ljust(drive ? drive.size : 0) + fe.directory.to_s
23
+ puts "".ljust(fe.directory_path.size) + fe.file.to_s
24
+ puts "".ljust(fe.directory_path.size) + fe.file_short_name.to_s
25
+ puts "".ljust(fe.directory_path.size) + fe.stem.to_s
26
+ puts "".ljust(fe.directory_path.size + fe.stem.size) + fe.extension.to_s
27
+ n = drive.size
28
+ fe.directory_parts.each do |part|
29
+
30
+ puts "".ljust(n) + part
31
+ n += part.size
32
+ end
33
+
34
+ puts fe.search_directory
35
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_path.to_s
36
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_directory_path.to_s
37
+ puts "".ljust(fe.search_directory.size) + fe.search_relative_directory.to_s
38
+
39
+ n = fe.search_directory.size
40
+ fe.search_relative_directory_parts.each do |part|
41
+
42
+ puts "".ljust(n) + part
43
+ n += part.size
44
+ end
45
45
  end
46
46