sys-filesystem 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f47e78baa2a2d0586d9dccbe36fc98a2683f0f0cc9828d70317ba7d2dc2aaa40
4
- data.tar.gz: 8a887956f1a3c621057e93960e67871c646ae00f7cfe157d21ee0fd0f7d21bc7
3
+ metadata.gz: 6334dc57daad97c3eaf9b0ce177abfa6792d13e106428e83646fbd1f6aa389d9
4
+ data.tar.gz: a9b0350667a8dfdb7afecd3acbc5604c5baabebea6674f2187810311e7e8bb1a
5
5
  SHA512:
6
- metadata.gz: 66a048e0249d7147868c2a3a21468f5f292be47e82d19316d00d7dc5deab8a4c961bd363c55c55ac7e83d8992a0ecc71a3579ec4ca6e7a874308bd7f5e727aa7
7
- data.tar.gz: 76ba77a00a187654367b01cacf2c282959fdbcaa3b2646075687a4f842ade1926bab0b38c51e60ac7b582f0633ce9ff27e32c349720788988a0e48cc5915c27a
6
+ metadata.gz: 7717c681b42ccd2be205d5d22f0f11be3a10ca70c6c91d95c87f8e104e0e4ada27725849bfdbef06a957af5c871affed1698aee553ce1dae50feca1236bff6e3
7
+ data.tar.gz: 88c377c758e9158a9980e3b9e9081e19f1c8c71d4613ea22e265b5d77510b81314b37a8a7a80f6466d2e8420cd1565169e58b9676a1281fcec0fee2fd4202bd0
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ == 1.3.1 - 15-Oct-2019
2
+ * Fixed a bug where the Statvfs and Statfs structs were not allocated properly
3
+ on Linux, which could cause issues. Thanks go to Daniele Orlandi for the spot.
4
+ * Added specs to ensure that the FFI struct size matches the C struct size.
5
+ This required adding mkmf-lite as a development dependency.
6
+ * Added a slightly more pessimistic version requirement for test-unit.
7
+
1
8
  == 1.3.0 - 3-Oct-2019
2
9
  * Added the mount and umount singleton methods.
3
10
  * Changed an internal class variable to a frozen constant.
@@ -1,7 +1,7 @@
1
1
  module Sys
2
2
  class Filesystem
3
3
  # The version of the sys-filesystem library
4
- VERSION = '1.3.0'.freeze
4
+ VERSION = '1.3.1'.freeze
5
5
  end
6
6
  end
7
7
 
@@ -19,7 +19,7 @@ module Sys
19
19
  begin
20
20
  attach_function(:umount_c, :umount, [:string], :int)
21
21
  rescue FFI::NotFoundError
22
- if RbConfig::CONFIG['host_os'] =~ /darwin|osx|mach/i
22
+ if RbConfig::CONFIG['host_os'] =~ /darwin|osx|mach|bsd/i
23
23
  attach_function(:umount_c, :unmount, [:string], :int)
24
24
  end
25
25
  end
@@ -39,6 +39,21 @@ module Sys
39
39
  :f_mntfromname, [:char, MNAMELEN],
40
40
  :f_mntonname, [:char, MNAMELEN]
41
41
  )
42
+ elsif RbConfig::CONFIG['host_os'] =~ /linux/i
43
+ layout(
44
+ :f_type, :ulong,
45
+ :f_bsize, :ulong,
46
+ :f_blocks, :uint64,
47
+ :f_bfree, :uint64,
48
+ :f_bavail, :uint64,
49
+ :f_files, :uint64,
50
+ :f_ffree, :uint64,
51
+ :f_fsid, [:int, 2],
52
+ :f_namelen, :ulong,
53
+ :f_frsize, :ulong,
54
+ :f_flags, :ulong,
55
+ :f_spare, [:ulong, 4]
56
+ )
42
57
  else
43
58
  layout(
44
59
  :f_bsize, :uint32,
@@ -112,18 +127,16 @@ module Sys
112
127
  layout(
113
128
  :f_bsize, :ulong,
114
129
  :f_frsize, :ulong,
115
- :f_blocks, :ulong,
116
- :f_bfree, :ulong,
117
- :f_bavail, :ulong,
118
- :f_files, :ulong,
119
- :f_ffree, :ulong,
120
- :f_favail, :ulong,
130
+ :f_blocks, :uint64,
131
+ :f_bfree, :uint64,
132
+ :f_bavail, :uint64,
133
+ :f_files, :uint64,
134
+ :f_ffree, :uint64,
135
+ :f_favail, :uint64,
121
136
  :f_fsid, :ulong,
122
137
  :f_flag, :ulong,
123
138
  :f_namemax, :ulong,
124
- :f_ftype, :ulong,
125
- :f_basetype, [:char, 16],
126
- :f_str, [:char, 16]
139
+ :f_spare, [:int, 6]
127
140
  )
128
141
  end
129
142
  end
@@ -2,21 +2,22 @@ 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.3.1'
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['test/*.rb']
12
12
  spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
13
13
  spec.cert_chain = Dir['certs/*']
14
14
 
15
15
  spec.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST']
16
16
 
17
17
  spec.add_dependency('ffi')
18
- spec.add_development_dependency('test-unit', '>= 2.5.0')
19
18
  spec.add_development_dependency('rake')
19
+ spec.add_development_dependency('test-unit', '~> 3.3')
20
+ spec.add_development_dependency('mkmf-lite', '~> 0.3')
20
21
 
21
22
  spec.metadata = {
22
23
  'homepage_uri' => 'https://github.com/djberg96/sys-filesystem',
@@ -5,8 +5,10 @@
5
5
  # This test suite should be run via the 'rake test' task.
6
6
  ####################################################################
7
7
  require 'test-unit'
8
- require 'sys/filesystem'
8
+ require 'sys-filesystem'
9
+ require 'mkmf-lite'
9
10
  include Sys
11
+ include Mkmf::Lite
10
12
 
11
13
  class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
12
14
  def self.startup
@@ -24,99 +26,99 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
24
26
  @array = []
25
27
  end
26
28
 
27
- def test_version
28
- assert_equal('1.3.0', Filesystem::VERSION)
29
+ test "version number is set to the expected value" do
30
+ assert_equal('1.3.1', Filesystem::VERSION)
29
31
  assert_true(Filesystem::VERSION.frozen?)
30
32
  end
31
33
 
32
- def test_stat_path
34
+ test "stat path works as expected" do
33
35
  assert_respond_to(@stat, :path)
34
36
  assert_equal("/", @stat.path)
35
37
  end
36
38
 
37
- def test_stat_block_size
39
+ test "stat block_size works as expected" do
38
40
  assert_respond_to(@stat, :block_size)
39
41
  assert_kind_of(Numeric, @stat.block_size)
40
42
  end
41
43
 
42
- def test_block_size_is_a_plausible_value
43
- assert_true(@stat.block_size >= 1024)
44
- assert_true(@stat.block_size <= 16384)
45
- end
46
-
47
- def test_stat_fragment_size
44
+ test "stat fragment_size works as expected" do
48
45
  assert_respond_to(@stat, :fragment_size)
49
46
  assert_kind_of(Numeric, @stat.fragment_size)
50
47
  end
51
48
 
52
- def test_stat_blocks
49
+ test "stat fragment_size is a plausible value" do
50
+ assert_true(@stat.fragment_size >= 512)
51
+ assert_true(@stat.fragment_size <= 16384)
52
+ end
53
+
54
+ test "stat blocks works as expected" do
53
55
  assert_respond_to(@stat, :blocks)
54
56
  assert_kind_of(Numeric, @stat.blocks)
55
57
  end
56
58
 
57
- def test_stat_blocks_free
59
+ test "stat blocks_free works as expected" do
58
60
  assert_respond_to(@stat, :blocks_free)
59
61
  assert_kind_of(Numeric, @stat.blocks_free)
60
62
  end
61
63
 
62
- def test_stat_blocks_available
64
+ test "stat blocks_available works as expected" do
63
65
  assert_respond_to(@stat, :blocks_available)
64
66
  assert_kind_of(Numeric, @stat.blocks_available)
65
67
  end
66
68
 
67
- def test_stat_files
69
+ test "stat files works as expected" do
68
70
  assert_respond_to(@stat, :files)
69
71
  assert_kind_of(Numeric, @stat.files)
70
72
  end
71
73
 
72
- def test_inodes_alias
74
+ test "stat inodes is an alias for files" do
73
75
  assert_respond_to(@stat, :inodes)
74
76
  assert_true(@stat.method(:inodes) == @stat.method(:files))
75
77
  end
76
78
 
77
- def test_stat_files_free
79
+ test "stat files tree works as expected" do
78
80
  assert_respond_to(@stat, :files_free)
79
81
  assert_kind_of(Numeric, @stat.files_free)
80
82
  end
81
83
 
82
- def test_stat_inodes_free_alias
84
+ test "stat inodes_free is an alias for files_free" do
83
85
  assert_respond_to(@stat, :inodes_free)
84
86
  assert_true(@stat.method(:inodes_free) == @stat.method(:files_free))
85
87
  end
86
88
 
87
- def test_stat_files_available
89
+ test "stat files_available works as expected" do
88
90
  assert_respond_to(@stat, :files_available)
89
91
  assert_kind_of(Numeric, @stat.files_available)
90
92
  end
91
93
 
92
- def test_stat_inodes_available_alias
94
+ test "stat inodes_available is an alias for files_available" do
93
95
  assert_respond_to(@stat, :inodes_available)
94
96
  assert_true(@stat.method(:inodes_available) == @stat.method(:files_available))
95
97
  end
96
98
 
97
- def test_stat_filesystem_id
99
+ test "stat filesystem_id works as expected" do
98
100
  assert_respond_to(@stat, :filesystem_id)
99
101
  assert_kind_of(Integer, @stat.filesystem_id)
100
102
  end
101
103
 
102
- def test_stat_flags
104
+ test "stat flags works as expected" do
103
105
  assert_respond_to(@stat, :flags)
104
106
  assert_kind_of(Numeric, @stat.flags)
105
107
  end
106
108
 
107
- def test_stat_name_max
109
+ test "stat name_max works as expected" do
108
110
  assert_respond_to(@stat, :name_max)
109
111
  assert_kind_of(Numeric, @stat.name_max)
110
112
  end
111
113
 
112
- def test_stat_base_type
114
+ test "stat base_type works as expected" do
113
115
  omit_unless(@@solaris, "base_type test skipped except on Solaris")
114
116
 
115
117
  assert_respond_to(@stat, :base_type)
116
118
  assert_kind_of(String, @stat.base_type)
117
119
  end
118
120
 
119
- def test_stat_constants
121
+ test "stat constants are defined" do
120
122
  assert_not_nil(Filesystem::Stat::RDONLY)
121
123
  assert_not_nil(Filesystem::Stat::NOSUID)
122
124
 
@@ -125,120 +127,120 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
125
127
  assert_not_nil(Filesystem::Stat::NOTRUNC)
126
128
  end
127
129
 
128
- def test_stat_bytes_total
130
+ test "stat bytes_total works as expected" do
129
131
  assert_respond_to(@stat, :bytes_total)
130
132
  assert_kind_of(Numeric, @stat.bytes_total)
131
133
  end
132
134
 
133
- def test_stat_bytes_free
135
+ test "stat bytes_free works as expected" do
134
136
  assert_respond_to(@stat, :bytes_free)
135
137
  assert_kind_of(Numeric, @stat.bytes_free)
136
138
  assert_equal(@stat.bytes_free, @stat.blocks_free * @stat.fragment_size)
137
139
  end
138
140
 
139
- def test_stat_bytes_available
141
+ test "stat bytes_available works as expected" do
140
142
  assert_respond_to(@stat, :bytes_available)
141
143
  assert_kind_of(Numeric, @stat.bytes_available)
142
144
  assert_equal(@stat.bytes_available, @stat.blocks_available * @stat.fragment_size)
143
145
  end
144
146
 
145
- def test_stat_bytes_used
147
+ test "stat bytes works as expected" do
146
148
  assert_respond_to(@stat, :bytes_used)
147
149
  assert_kind_of(Numeric, @stat.bytes_used)
148
150
  end
149
151
 
150
- def test_stat_percent_used
152
+ test "stat percent_used works as expected" do
151
153
  assert_respond_to(@stat, :percent_used)
152
154
  assert_kind_of(Float, @stat.percent_used)
153
155
  end
154
156
 
155
- def test_stat_expected_errors
157
+ test "stat singleton method requires an argument" do
156
158
  assert_raises(ArgumentError){ Filesystem.stat }
157
159
  end
158
160
 
159
- def test_stat_case_insensitive
161
+ test "stat case_insensitive method works as expected" do
160
162
  expected = @@darwin ? true : false
161
163
  assert_equal(expected, @stat.case_insensitive?)
162
164
  assert_equal(expected, Filesystem.stat(Dir.home).case_insensitive?)
163
165
  end
164
166
 
165
- def test_stat_case_sensitive
167
+ test "stat case_sensitive method works as expected" do
166
168
  expected = @@darwin ? false : true
167
169
  assert_equal(expected, @stat.case_sensitive?)
168
170
  assert_equal(expected, Filesystem.stat(Dir.home).case_sensitive?)
169
171
  end
170
172
 
171
- def test_numeric_methods_basic
173
+ test "numeric helper methods are defined" do
172
174
  assert_respond_to(@size, :to_kb)
173
175
  assert_respond_to(@size, :to_mb)
174
176
  assert_respond_to(@size, :to_gb)
175
177
  assert_respond_to(@size, :to_tb)
176
178
  end
177
179
 
178
- def test_to_kb
180
+ test "to_kb works as expected" do
179
181
  assert_equal(57344, @size.to_kb)
180
182
  end
181
183
 
182
- def test_to_mb
184
+ test "to_mb works as expected" do
183
185
  assert_equal(56, @size.to_mb)
184
186
  end
185
187
 
186
- def test_to_gb
188
+ test "to_gb works as expected" do
187
189
  assert_equal(0, @size.to_gb)
188
190
  end
189
191
 
190
192
  # Filesystem::Mount tests
191
193
 
192
- def test_mounts_with_no_block
194
+ test "mounts singleton method works as expected without a block" do
193
195
  assert_nothing_raised{ @array = Filesystem.mounts }
194
196
  assert_kind_of(Filesystem::Mount, @array[0])
195
197
  end
196
198
 
197
- def test_mounts_with_block
199
+ test "mounts singleton method works as expected with a block" do
198
200
  assert_nothing_raised{ Filesystem.mounts{ |m| @array << m } }
199
201
  assert_kind_of(Filesystem::Mount, @array[0])
200
202
  end
201
203
 
202
- def test_mounts_high_iteration
204
+ test "calling the mounts singleton method a large number of times does not cause issues" do
203
205
  assert_nothing_raised{ 1000.times{ @array = Filesystem.mounts } }
204
206
  end
205
207
 
206
- def test_mount_name
208
+ test "mount name method works as expected" do
207
209
  assert_respond_to(@mnt, :name)
208
210
  assert_kind_of(String, @mnt.name)
209
211
  end
210
212
 
211
- def test_fsname_alias
213
+ test "mount fsname is an alias for name" do
212
214
  assert_respond_to(@mnt, :fsname)
213
215
  assert_true(@mnt.method(:fsname) == @mnt.method(:name))
214
216
  end
215
217
 
216
- def test_mount_point
218
+ test "mount point method works as expected" do
217
219
  assert_respond_to(@mnt, :mount_point)
218
220
  assert_kind_of(String, @mnt.mount_point)
219
221
  end
220
222
 
221
- def test_dir_alias
223
+ test "mount dir is an alias for mount_point" do
222
224
  assert_respond_to(@mnt, :dir)
223
225
  assert_true(@mnt.method(:dir) == @mnt.method(:mount_point))
224
226
  end
225
227
 
226
- def test_mount_type
228
+ test "mount mount_type works as expected" do
227
229
  assert_respond_to(@mnt, :mount_type)
228
230
  assert_kind_of(String, @mnt.mount_type)
229
231
  end
230
232
 
231
- def test_mount_options
233
+ test "mount options works as expected" do
232
234
  assert_respond_to(@mnt, :options)
233
235
  assert_kind_of(String, @mnt.options)
234
236
  end
235
237
 
236
- def test_opts_alias
238
+ test "mount opts is an alias for options" do
237
239
  assert_respond_to(@mnt, :opts)
238
240
  assert_true(@mnt.method(:opts) == @mnt.method(:options))
239
241
  end
240
242
 
241
- def test_mount_time
243
+ test "mount time works as expected" do
242
244
  assert_respond_to(@mnt, :mount_time)
243
245
 
244
246
  if @@solaris
@@ -248,47 +250,68 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
248
250
  end
249
251
  end
250
252
 
251
- def test_mount_dump_frequency
253
+ test "mount dump_frequency works as expected" do
252
254
  msg = 'dump_frequency test skipped on this platform'
253
255
  omit_if(@@solaris || @@freebsd || @@darwin, msg)
254
256
  assert_respond_to(@mnt, :dump_frequency)
255
257
  assert_kind_of(Numeric, @mnt.dump_frequency)
256
258
  end
257
259
 
258
- def test_freq_alias
260
+ test "mount freq is an alias for dump_frequency" do
259
261
  assert_respond_to(@mnt, :freq)
260
262
  assert_true(@mnt.method(:freq) == @mnt.method(:dump_frequency))
261
263
  end
262
264
 
263
- def test_mount_pass_number
265
+ test "mount pass_number works as expected" do
264
266
  msg = 'pass_number test skipped on this platform'
265
267
  omit_if(@@solaris || @@freebsd || @@darwin, msg)
266
268
  assert_respond_to(@mnt, :pass_number)
267
269
  assert_kind_of(Numeric, @mnt.pass_number)
268
270
  end
269
271
 
270
- def test_passno_alias
272
+ test "mount passno is an alias for pass_number" do
271
273
  assert_respond_to(@mnt, :passno)
272
274
  assert_true(@mnt.method(:passno) == @mnt.method(:pass_number))
273
275
  end
274
276
 
275
- def test_mount_point_singleton
277
+ test "mount_point singleton method works as expected" do
276
278
  assert_respond_to(Filesystem, :mount_point)
277
279
  assert_nothing_raised{ Filesystem.mount_point(Dir.pwd) }
278
280
  assert_kind_of(String, Filesystem.mount_point(Dir.pwd))
279
281
  end
280
282
 
281
- def test_ffi_functions_are_private
283
+ test "mount singleton method is defined" do
284
+ assert_respond_to(Sys::Filesystem, :mount)
285
+ end
286
+
287
+ test "umount singleton method is defined" do
288
+ assert_respond_to(Sys::Filesystem, :umount)
289
+ end
290
+
291
+ # FFI
292
+
293
+ test "ffi functions are private" do
282
294
  assert_false(Filesystem.methods.include?('statvfs'))
283
295
  assert_false(Filesystem.methods.include?('strerror'))
284
296
  end
285
297
 
286
- def test_mount_singleton_method
287
- assert_respond_to(Sys::Filesystem, :mount)
298
+ test "statfs struct is expected size" do
299
+ header = @@freebsd || @@darwin ? 'sys/mount.h' : 'sys/statfs.h'
300
+ assert_equal(check_sizeof('struct statfs', header), Filesystem::Structs::Statfs.size)
288
301
  end
289
302
 
290
- def test_umount_singleton_method
291
- assert_respond_to(Sys::Filesystem, :umount)
303
+ test "statvfs struct is expected size" do
304
+ assert_equal(check_sizeof('struct statvfs', 'sys/statvfs.h'), Filesystem::Structs::Statvfs.size)
305
+ end
306
+
307
+ test "mnttab struct is expected size" do
308
+ omit_unless(@@solaris, "mnttab test skipped except on Solaris")
309
+ assert_equal(check_sizeof('struct mnttab', 'sys/mnttab.h'), Filesystem::Structs::Mnttab.size)
310
+ end
311
+
312
+ test "mntent struct is expected size" do
313
+ omit_unless(@@linux, "mnttab test skipped except on Linux")
314
+ assert_equal(check_sizeof('struct mntent', 'mntent.h'), Filesystem::Structs::Mntent.size)
292
315
  end
293
316
 
294
317
  def teardown
@@ -20,7 +20,7 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
20
20
  end
21
21
 
22
22
  test "version number is set to the expected value" do
23
- assert_equal('1.3.0', Filesystem::VERSION)
23
+ assert_equal('1.3.1', Filesystem::VERSION)
24
24
  assert_true(Filesystem::VERSION.frozen?)
25
25
  end
26
26
 
metadata CHANGED
@@ -1,7 +1,7 @@
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.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -35,7 +35,7 @@ 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:
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
@@ -52,33 +52,47 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  - !ruby/object:Gem::Dependency
55
- name: test-unit
55
+ name: rake
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'
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'
68
68
  - !ruby/object:Gem::Dependency
69
- name: rake
69
+ name: test-unit
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ">="
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0'
74
+ version: '3.3'
75
75
  type: :development
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
79
+ - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0'
81
+ version: '3.3'
82
+ - !ruby/object:Gem::Dependency
83
+ name: mkmf-lite
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.3'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.3'
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.
@@ -91,12 +105,20 @@ extra_rdoc_files:
91
105
  - MANIFEST
92
106
  files:
93
107
  - test
94
- - test/test_sys_filesystem.rb
95
- - test/test_sys_filesystem_unix.rb
96
108
  - test/test_sys_filesystem_windows.rb
109
+ - test/test_sys_filesystem_unix.rb
110
+ - test/test_sys_filesystem.rb
111
+ - CHANGES
112
+ - MANIFEST
113
+ - README
114
+ - Rakefile
115
+ - sys-filesystem.gemspec
116
+ - certs
117
+ - certs/djberg96_pub.pem
97
118
  - examples
98
119
  - examples/example_stat.rb
99
120
  - lib
121
+ - lib/sys-filesystem.rb
100
122
  - lib/sys
101
123
  - lib/sys/unix
102
124
  - lib/sys/unix/sys
@@ -105,22 +127,14 @@ files:
105
127
  - lib/sys/unix/sys/filesystem/constants.rb
106
128
  - lib/sys/unix/sys/filesystem/functions.rb
107
129
  - lib/sys/unix/sys/filesystem.rb
130
+ - lib/sys/filesystem.rb
108
131
  - lib/sys/windows
109
132
  - lib/sys/windows/sys
110
133
  - lib/sys/windows/sys/filesystem
111
- - lib/sys/windows/sys/filesystem/constants.rb
112
134
  - lib/sys/windows/sys/filesystem/helper.rb
135
+ - lib/sys/windows/sys/filesystem/constants.rb
113
136
  - lib/sys/windows/sys/filesystem/functions.rb
114
137
  - 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
123
- - sys-filesystem.gemspec
124
138
  homepage: https://github.com/djberg96/sys-filesystem
125
139
  licenses:
126
140
  - Apache-2.0
@@ -146,12 +160,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
160
  - !ruby/object:Gem::Version
147
161
  version: '0'
148
162
  requirements: []
149
- rubyforge_project:
150
- rubygems_version: 2.7.6.2
163
+ rubygems_version: 3.0.6
151
164
  signing_key:
152
165
  specification_version: 4
153
166
  summary: A Ruby interface for getting file system information.
154
167
  test_files:
155
- - test/test_sys_filesystem.rb
156
- - test/test_sys_filesystem_unix.rb
157
168
  - test/test_sys_filesystem_windows.rb
169
+ - test/test_sys_filesystem_unix.rb
170
+ - test/test_sys_filesystem.rb
metadata.gz.sig CHANGED
Binary file