sys-filesystem 1.3.0 → 1.4.0

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.
@@ -0,0 +1,344 @@
1
+ ####################################################################
2
+ # sys_filesystem_windows_spec.rb
3
+ #
4
+ # Specs for the Sys::Filesystem.stat method and related stuff.
5
+ # This should be run via the 'rake spec' task.
6
+ ####################################################################
7
+ require 'spec_helper'
8
+ require 'sys/filesystem'
9
+ require 'pathname'
10
+
11
+ RSpec.describe Sys::Filesystem, :windows => true do
12
+ let(:root) { 'C:/' }
13
+
14
+ before do
15
+ @stat = Sys::Filesystem.stat(root)
16
+ @size = 58720256
17
+ end
18
+
19
+ example "version number is set to the expected value" do
20
+ expect(Sys::Filesystem::VERSION).to eq('1.4.0')
21
+ expect(Sys::Filesystem::VERSION).to be_frozen
22
+ end
23
+
24
+ example "stat path works as expected" do
25
+ expect(@stat).to respond_to(:path)
26
+ expect(@stat.path).to eq(root)
27
+ end
28
+
29
+ example "stat block_size works as expected" do
30
+ expect(@stat).to respond_to(:block_size)
31
+ expect(@stat.block_size).to be_kind_of(Numeric)
32
+ end
33
+
34
+ example "stat works with or without trailing slash on standard paths" do
35
+ expect(Sys::Filesystem.stat("C:/").path).to eq("C:/")
36
+ expect(Sys::Filesystem.stat("C:/Users").path).to eq("C:/Users")
37
+ expect(Sys::Filesystem.stat("C:/Users/").path).to eq("C:/Users/")
38
+ expect(Sys::Filesystem.stat("C:/Users/").path).to eq("C:/Users/")
39
+ end
40
+
41
+ example "stat works with or without trailing slash on UNC paths" do
42
+ expect(Sys::Filesystem.stat("//127.0.0.1/C$").path).to eq("//127.0.0.1/C$")
43
+ expect(Sys::Filesystem.stat("//127.0.0.1/C$/").path).to eq("//127.0.0.1/C$/")
44
+ expect(Sys::Filesystem.stat("\\\\127.0.0.1\\C$").path).to eq("\\\\127.0.0.1\\C$")
45
+ expect(Sys::Filesystem.stat("\\\\127.0.0.1\\C$\\").path).to eq("\\\\127.0.0.1\\C$\\")
46
+ end
47
+
48
+ example "stat fragment_size works as expected" do
49
+ expect(@stat).to respond_to(:fragment_size)
50
+ expect(@stat.fragment_size).to be_nil
51
+ end
52
+
53
+ example "stat blocks works as expected" do
54
+ expect(@stat).to respond_to(:blocks)
55
+ expect(@stat.blocks).to be_kind_of(Numeric)
56
+ end
57
+
58
+ example "stat blocks_free works as expected" do
59
+ expect(@stat).to respond_to(:blocks_free)
60
+ expect(@stat.blocks_free).to be_kind_of(Numeric)
61
+ end
62
+
63
+ example "stat blocks_available works as expected" do
64
+ expect(@stat).to respond_to(:blocks_available)
65
+ expect(@stat.blocks_available).to be_kind_of(Numeric)
66
+ end
67
+
68
+ example "block stats return expected relative values" do
69
+ expect(@stat.blocks >= @stat.blocks_free).to be true
70
+ expect(@stat.blocks_free >= @stat.blocks_available).to be true
71
+ end
72
+
73
+ example "stat files works as expected" do
74
+ expect(@stat).to respond_to(:files)
75
+ expect(@stat.files).to be_nil
76
+ end
77
+
78
+ example "stat inodes is an alias for files" do
79
+ expect(@stat.method(:inodes)).to eq(@stat.method(:files))
80
+ end
81
+
82
+ example "stat files_free works as expected" do
83
+ expect(@stat).to respond_to(:files_free)
84
+ expect(@stat.files_free).to be_nil
85
+ end
86
+
87
+ example "stat inodes_free is an alias for files_free" do
88
+ expect(@stat).to respond_to(:inodes_free)
89
+ end
90
+
91
+ example "stat files available works as expected" do
92
+ expect(@stat).to respond_to(:files_available)
93
+ expect(@stat.files_available).to be_nil
94
+ end
95
+
96
+ example "stat inodes_available is an alias for files_available" do
97
+ expect(@stat.method(:inodes_available)).to eq(@stat.method(:files_available))
98
+ end
99
+
100
+ example "stat filesystem_id works as expected" do
101
+ expect(@stat).to respond_to(:filesystem_id)
102
+ expect(@stat.filesystem_id).to be_kind_of(Integer)
103
+ end
104
+
105
+ example "stat flags works as expected" do
106
+ expect(@stat).to respond_to(:flags)
107
+ expect(@stat.flags).to be_kind_of(Numeric)
108
+ end
109
+
110
+ example "stat name_max works as expected" do
111
+ expect(@stat).to respond_to(:name_max)
112
+ expect(@stat.name_max).to be_kind_of(Numeric)
113
+ end
114
+
115
+ example "stat base_type works as expected" do
116
+ expect(@stat).to respond_to(:base_type)
117
+ expect(@stat.base_type).to be_kind_of(String)
118
+ end
119
+
120
+ example "stat bytes_total basic functionality" do
121
+ expect(@stat).to respond_to(:bytes_total)
122
+ expect(@stat.bytes_total).to be_kind_of(Numeric)
123
+ end
124
+
125
+ example "stat bytes_free basic functionality" do
126
+ expect(@stat).to respond_to(:bytes_free)
127
+ expect(@stat.bytes_free).to be_kind_of(Numeric)
128
+ expect(@stat.blocks_free * @stat.block_size).to eq(@stat.bytes_free)
129
+ end
130
+
131
+ example "stat bytes_available basic functionality" do
132
+ expect(@stat).to respond_to(:bytes_available)
133
+ expect(@stat.bytes_available).to be_kind_of(Numeric)
134
+ expect(@stat.blocks_available * @stat.block_size).to eq(@stat.bytes_available)
135
+ end
136
+
137
+ example "stat bytes_used basic functionality" do
138
+ expect(@stat).to respond_to(:bytes_used)
139
+ expect(@stat.bytes_used).to be_kind_of(Numeric)
140
+ end
141
+
142
+ example "stat percent_used basic functionality" do
143
+ expect(@stat).to respond_to(:percent_used)
144
+ expect(@stat.percent_used).to be_kind_of(Float)
145
+ end
146
+
147
+ example "case_insensitive returns expected result" do
148
+ expect(@stat).to respond_to(:case_insensitive?)
149
+ expect(@stat.case_insensitive?).to eq(true)
150
+ end
151
+
152
+ context "Filesystem.stat(Pathname)" do
153
+ before do
154
+ @stat_pathname = Sys::Filesystem.stat(Pathname.new(root))
155
+ end
156
+
157
+ example "stat with Pathname argument works as expected" do
158
+ expect(@stat_pathname.class).to eq(@stat.class)
159
+ expect(@stat_pathname.path).to eq(@stat.path)
160
+ expect(@stat_pathname.block_size).to eq(@stat.block_size)
161
+ expect(@stat_pathname.fragment_size).to eq(@stat.fragment_size)
162
+ expect(@stat_pathname.blocks).to eq(@stat.blocks)
163
+ expect(@stat_pathname.blocks_free).to eq(@stat.blocks_free)
164
+ expect(@stat_pathname.blocks_available).to eq(@stat.blocks_available)
165
+ expect(@stat_pathname.files).to eq(@stat.files)
166
+ expect(@stat_pathname.files_free).to eq(@stat.files_free)
167
+ expect(@stat_pathname.files_available).to eq(@stat.files_available)
168
+ expect(@stat_pathname.filesystem_id).to eq(@stat.filesystem_id)
169
+ expect(@stat_pathname.flags).to eq(@stat.flags)
170
+ expect(@stat_pathname.name_max).to eq(@stat.name_max)
171
+ expect(@stat_pathname.base_type).to eq(@stat.base_type)
172
+ end
173
+ end
174
+
175
+ context "Filesystem.stat(Dir)" do
176
+ before do
177
+ @stat_dir = Dir.open(root){ |dir| Sys::Filesystem.stat(dir) }
178
+ end
179
+
180
+ example "stat with Dir argument works as expected" do
181
+ expect( @stat_dir.class).to eq(@stat.class)
182
+ expect( @stat_dir.path).to eq(@stat.path)
183
+ expect( @stat_dir.block_size).to eq(@stat.block_size)
184
+ expect( @stat_dir.fragment_size).to eq(@stat.fragment_size)
185
+ expect( @stat_dir.blocks).to eq(@stat.blocks)
186
+ expect( @stat_dir.blocks_free).to eq(@stat.blocks_free)
187
+ expect( @stat_dir.blocks_available).to eq(@stat.blocks_available)
188
+ expect( @stat_dir.files).to eq(@stat.files)
189
+ expect( @stat_dir.files_free).to eq(@stat.files_free)
190
+ expect( @stat_dir.files_available).to eq(@stat.files_available)
191
+ expect( @stat_dir.filesystem_id).to eq(@stat.filesystem_id)
192
+ expect( @stat_dir.flags).to eq(@stat.flags)
193
+ expect( @stat_dir.name_max).to eq(@stat.name_max)
194
+ expect( @stat_dir.base_type).to eq(@stat.base_type)
195
+ end
196
+ end
197
+
198
+ context "mount_point" do
199
+ example "mount_point singleton method basic functionality" do
200
+ expect(Sys::Filesystem).to respond_to(:mount_point)
201
+ expect{ Sys::Filesystem.mount_point(Dir.pwd) }.not_to raise_error
202
+ expect(Sys::Filesystem.mount_point(Dir.pwd)).to be_kind_of(String)
203
+ end
204
+
205
+ example "mount_point singleton method returns expected value" do
206
+ expect(Sys::Filesystem.mount_point("C:\\Users\\foo")).to eq("C:\\")
207
+ expect(Sys::Filesystem.mount_point("//foo/bar/baz")).to eq("\\\\foo\\bar")
208
+ end
209
+
210
+ example "mount_point works with Pathname object" do
211
+ expect{ Sys::Filesystem.mount_point(Pathname.new("C:/Users/foo")) }.not_to raise_error
212
+ expect(Sys::Filesystem.mount_point("C:\\Users\\foo")).to eq("C:\\")
213
+ expect(Sys::Filesystem.mount_point("//foo/bar/baz")).to eq("\\\\foo\\bar")
214
+ end
215
+ end
216
+
217
+ example "filesystem constants are defined" do
218
+ expect(Sys::Filesystem::CASE_SENSITIVE_SEARCH).not_to be_nil
219
+ expect(Sys::Filesystem::CASE_PRESERVED_NAMES).not_to be_nil
220
+ expect(Sys::Filesystem::UNICODE_ON_DISK).not_to be_nil
221
+ expect(Sys::Filesystem::PERSISTENT_ACLS).not_to be_nil
222
+ expect(Sys::Filesystem::FILE_COMPRESSION).not_to be_nil
223
+ expect(Sys::Filesystem::VOLUME_QUOTAS).not_to be_nil
224
+ expect(Sys::Filesystem::SUPPORTS_SPARSE_FILES).not_to be_nil
225
+ expect(Sys::Filesystem::SUPPORTS_REPARSE_POINTS).not_to be_nil
226
+ expect(Sys::Filesystem::SUPPORTS_REMOTE_STORAGE).not_to be_nil
227
+ expect(Sys::Filesystem::VOLUME_IS_COMPRESSED).not_to be_nil
228
+ expect(Sys::Filesystem::SUPPORTS_OBJECT_IDS).not_to be_nil
229
+ expect(Sys::Filesystem::SUPPORTS_ENCRYPTION).not_to be_nil
230
+ expect(Sys::Filesystem::NAMED_STREAMS).not_to be_nil
231
+ expect(Sys::Filesystem::READ_ONLY_VOLUME).not_to be_nil
232
+ end
233
+
234
+ example "stat singleton method defaults to root path if proviced" do
235
+ expect{ Sys::Filesystem.stat("C://Program Files") }.not_to raise_error
236
+ end
237
+
238
+ example "stat singleton method accepts a Pathname object" do
239
+ expect{ Sys::Filesystem.stat(Pathname.new("C://Program Files")) }.not_to raise_error
240
+ end
241
+
242
+ example "stat singleton method requires a single argument" do
243
+ expect{ Sys::Filesystem.stat }.to raise_error(ArgumentError)
244
+ expect{ Sys::Filesystem.stat(Dir.pwd, Dir.pwd) }.to raise_error(ArgumentError)
245
+ end
246
+
247
+ example "stat singleton method raises an error if path is not found" do
248
+ expect{ Sys::Filesystem.stat("C://Bogus//Dir") }.to raise_error(Errno::ESRCH)
249
+ end
250
+
251
+ context "Filesystem::Mount" do
252
+ let(:mount){ Sys::Filesystem.mounts[0] }
253
+
254
+ before do
255
+ @array = []
256
+ end
257
+
258
+ example "mount singleton method exists" do
259
+ expect(Sys::Filesystem).to respond_to(:mount)
260
+ end
261
+
262
+ example "umount singleton method exists" do
263
+ expect(Sys::Filesystem).to respond_to(:umount)
264
+ end
265
+
266
+ example "mounts singleton method basic functionality" do
267
+ expect(Sys::Filesystem).to respond_to(:mounts)
268
+ expect{ Sys::Filesystem.mounts }.not_to raise_error
269
+ expect{ Sys::Filesystem.mounts{}.not_to raise_error }
270
+ end
271
+
272
+ example "mounts singleton method returns the expected value" do
273
+ expect(Sys::Filesystem.mounts).to be_kind_of(Array)
274
+ expect(Sys::Filesystem.mounts[0]).to be_kind_of(Sys::Filesystem::Mount)
275
+ end
276
+
277
+ example "mounts singleton method works as expected when a block is provided" do
278
+ expect(Sys::Filesystem.mounts{}).to be_nil
279
+ expect{ Sys::Filesystem.mounts{ |mt| @array << mt } }.not_to raise_error
280
+ expect(@array[0]).to be_kind_of(Sys::Filesystem::Mount)
281
+ end
282
+
283
+ example "mount name works as expected" do
284
+ expect(mount).to respond_to(:name)
285
+ expect(mount.name).to be_kind_of(String)
286
+ end
287
+
288
+ example "mount_time works as expected" do
289
+ expect(mount).to respond_to(:mount_time)
290
+ expect(mount.mount_time).to be_kind_of(Time)
291
+ end
292
+
293
+ example "mount type works as expected" do
294
+ expect(mount).to respond_to(:mount_type)
295
+ expect(mount.mount_type).to be_kind_of(String)
296
+ end
297
+
298
+ example "mount point works as expected" do
299
+ expect(mount).to respond_to(:mount_point)
300
+ expect(mount.mount_point).to be_kind_of(String)
301
+ end
302
+
303
+ example "mount options works as expected" do
304
+ expect(mount).to respond_to(:options)
305
+ expect(mount.options).to be_kind_of(String)
306
+ end
307
+
308
+ example "mount pass_number works as expected" do
309
+ expect(mount).to respond_to(:pass_number)
310
+ expect(mount.pass_number).to be_nil
311
+ end
312
+
313
+ example "mount frequency works as expected" do
314
+ expect(mount).to respond_to(:frequency)
315
+ expect(mount.frequency).to be_nil
316
+ end
317
+
318
+ example "mounts singleton method does not accept any arguments" do
319
+ expect{ Sys::Filesystem.mounts("C:\\") }.to raise_error(ArgumentError)
320
+ end
321
+ end
322
+
323
+ example "custom Numeric#to_kb method works as expected" do
324
+ expect(@size).to respond_to(:to_kb)
325
+ expect(@size.to_kb).to eq(57344)
326
+ end
327
+
328
+ example "custom Numeric#to_mb method works as expected" do
329
+ expect(@size).to respond_to(:to_mb)
330
+ expect(@size.to_mb).to eq(56)
331
+ end
332
+
333
+ example "custom Numeric#to_gb method works as expected" do
334
+ expect(@size).to respond_to(:to_gb)
335
+ expect(@size.to_gb).to eq(0)
336
+ end
337
+
338
+ context "FFI" do
339
+ example "internal ffi functions are not public" do
340
+ expect(Sys::Filesystem.methods.include?(:GetVolumeInformationA)).to eq(false)
341
+ expect(Sys::Filesystem.instance_methods.include?(:GetVolumeInformationA)).to eq(false)
342
+ end
343
+ end
344
+ end
@@ -2,26 +2,25 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'sys-filesystem'
5
- spec.version = '1.3.0'
5
+ spec.version = '1.4.0'
6
6
  spec.author = 'Daniel J. Berger'
7
7
  spec.email = 'djberg96@gmail.com'
8
8
  spec.homepage = 'https://github.com/djberg96/sys-filesystem'
9
9
  spec.summary = 'A Ruby interface for getting file system information.'
10
- spec.test_files = Dir['test/*.rb']
11
10
  spec.license = 'Apache-2.0'
11
+ spec.test_files = Dir['spec/*_spec.rb']
12
12
  spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
13
13
  spec.cert_chain = Dir['certs/*']
14
14
 
15
- spec.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST']
16
-
17
- spec.add_dependency('ffi')
18
- spec.add_development_dependency('test-unit', '>= 2.5.0')
15
+ spec.add_dependency('ffi', '~> 1.1')
16
+ spec.add_development_dependency('mkmf-lite', '~> 0.4')
19
17
  spec.add_development_dependency('rake')
18
+ spec.add_development_dependency('rspec', '~> 3.9')
20
19
 
21
20
  spec.metadata = {
22
21
  'homepage_uri' => 'https://github.com/djberg96/sys-filesystem',
23
22
  'bug_tracker_uri' => 'https://github.com/djberg96/sys-filesystem/issues',
24
- 'changelog_uri' => 'https://github.com/djberg96/sys-filesystem/blob/ffi/CHANGES',
23
+ 'changelog_uri' => 'https://github.com/djberg96/sys-filesystem/blob/ffi/CHANGES.rdoc',
25
24
  'documentation_uri' => 'https://github.com/djberg96/sys-filesystem/wiki',
26
25
  'source_code_uri' => 'https://github.com/djberg96/sys-filesystem',
27
26
  'wiki_uri' => 'https://github.com/djberg96/sys-filesystem/wiki'
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-filesystem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
@@ -35,36 +35,36 @@ cert_chain:
35
35
  ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
36
  WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
37
37
  -----END CERTIFICATE-----
38
- date: 2019-10-03 00:00:00.000000000 Z
38
+ date: 2020-11-06 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0'
46
+ version: '1.1'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: '1.1'
54
54
  - !ruby/object:Gem::Dependency
55
- name: test-unit
55
+ name: mkmf-lite
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 2.5.0
60
+ version: '0.4'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 2.5.0
67
+ version: '0.4'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: rake
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -79,47 +79,50 @@ dependencies:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.9'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.9'
82
96
  description: |2
83
97
  The sys-filesystem library provides a cross-platform interface for
84
98
  gathering filesystem information, such as disk space and mount point data.
85
99
  email: djberg96@gmail.com
86
100
  executables: []
87
101
  extensions: []
88
- extra_rdoc_files:
89
- - CHANGES
90
- - README
91
- - MANIFEST
102
+ extra_rdoc_files: []
92
103
  files:
93
- - test
94
- - test/test_sys_filesystem.rb
95
- - test/test_sys_filesystem_unix.rb
96
- - test/test_sys_filesystem_windows.rb
97
- - examples
104
+ - CHANGES.md
105
+ - Gemfile
106
+ - LICENSE
107
+ - MANIFEST.md
108
+ - README.md
109
+ - Rakefile
110
+ - certs/djberg96_pub.pem
111
+ - examples/example_mount.rb
98
112
  - examples/example_stat.rb
99
- - lib
100
- - lib/sys
101
- - lib/sys/unix
102
- - lib/sys/unix/sys
103
- - lib/sys/unix/sys/filesystem
104
- - lib/sys/unix/sys/filesystem/structs.rb
113
+ - lib/sys-filesystem.rb
114
+ - lib/sys/filesystem.rb
115
+ - lib/sys/unix/sys/filesystem.rb
105
116
  - lib/sys/unix/sys/filesystem/constants.rb
106
117
  - lib/sys/unix/sys/filesystem/functions.rb
107
- - lib/sys/unix/sys/filesystem.rb
108
- - lib/sys/windows
109
- - lib/sys/windows/sys
110
- - lib/sys/windows/sys/filesystem
118
+ - lib/sys/unix/sys/filesystem/structs.rb
119
+ - lib/sys/windows/sys/filesystem.rb
111
120
  - lib/sys/windows/sys/filesystem/constants.rb
112
- - lib/sys/windows/sys/filesystem/helper.rb
113
121
  - lib/sys/windows/sys/filesystem/functions.rb
114
- - lib/sys/windows/sys/filesystem.rb
115
- - lib/sys/filesystem.rb
116
- - lib/sys-filesystem.rb
117
- - MANIFEST
118
- - README
119
- - Rakefile
120
- - certs
121
- - certs/djberg96_pub.pem
122
- - CHANGES
122
+ - lib/sys/windows/sys/filesystem/helper.rb
123
+ - spec/spec_helper.rb
124
+ - spec/sys_filesystem_unix_spec.rb
125
+ - spec/sys_filesystem_windows_spec.rb
123
126
  - sys-filesystem.gemspec
124
127
  homepage: https://github.com/djberg96/sys-filesystem
125
128
  licenses:
@@ -127,11 +130,11 @@ licenses:
127
130
  metadata:
128
131
  homepage_uri: https://github.com/djberg96/sys-filesystem
129
132
  bug_tracker_uri: https://github.com/djberg96/sys-filesystem/issues
130
- changelog_uri: https://github.com/djberg96/sys-filesystem/blob/ffi/CHANGES
133
+ changelog_uri: https://github.com/djberg96/sys-filesystem/blob/ffi/CHANGES.rdoc
131
134
  documentation_uri: https://github.com/djberg96/sys-filesystem/wiki
132
135
  source_code_uri: https://github.com/djberg96/sys-filesystem
133
136
  wiki_uri: https://github.com/djberg96/sys-filesystem/wiki
134
- post_install_message:
137
+ post_install_message:
135
138
  rdoc_options: []
136
139
  require_paths:
137
140
  - lib
@@ -146,12 +149,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
149
  - !ruby/object:Gem::Version
147
150
  version: '0'
148
151
  requirements: []
149
- rubyforge_project:
150
- rubygems_version: 2.7.6.2
151
- signing_key:
152
+ rubygems_version: 3.1.4
153
+ signing_key:
152
154
  specification_version: 4
153
155
  summary: A Ruby interface for getting file system information.
154
156
  test_files:
155
- - test/test_sys_filesystem.rb
156
- - test/test_sys_filesystem_unix.rb
157
- - test/test_sys_filesystem_windows.rb
157
+ - spec/sys_filesystem_windows_spec.rb
158
+ - spec/sys_filesystem_unix_spec.rb