sys-filesystem 1.1.9 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f33933d030d3147fa24950695f5e5e2980d520bb600dfc70701087fc1935680
4
- data.tar.gz: f5c1ee3037fbb6786b7147d4cd9ccd583baaa5284a4e4102dbd8ad868bf15f8b
3
+ metadata.gz: a7c3f0edc5663aaad12f5efe558ade7e4b60d501a76da48d1620141f08196800
4
+ data.tar.gz: 6f5ba4a40c49bbbbf0a93607713a314f9f4c5cc88d8d9748f0b0d40c50ce97f7
5
5
  SHA512:
6
- metadata.gz: d8f1f0bf6be3adb1f0cd8aaf1df21f0ef504af1c7818da93c1b66a98a54c02ada277de37c7310675db429b9e4b8f07c72b23e540d37a1b5f8994181aacc0e0ab
7
- data.tar.gz: d564f2d9de62b360b6ebc7c3233fa90929d94c8e1e94ccab2f3b7ad1d85b40e8a2e13baaa600835c44e3171d7bff97053fd510a49e5256d16c2ada62ed7e9648
6
+ metadata.gz: cd8722d5a57207ec407585cc6c92087cd8dcdb844e8e5c5acec6be7688fa2170fccb4036c6395552081378b6d00bd70cb4dae6b9fae30728e3118d972d425ef8
7
+ data.tar.gz: caff95ccc96dd102f379a1c48d15b00111e75d3c5069330cf0d02bc0096d84f3601efc667bb58a8ac43c9651e4548b3fdd51f58814b1b8e8c6c0148c71d73e1d
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGES CHANGED
@@ -1,3 +1,11 @@
1
+ == 1.2.0 - 1-Jan-2019
2
+ * Changed the license to Apache-2.0.
3
+ * Added the case_sensitive? and case_insensitive? instance methods to the
4
+ Filesystem::Stat class.
5
+ * Refactored the Numeric helper methods into a single location.
6
+ * Fixed the deprecation warnings when running the tests on Windows.
7
+ * Added metadata to the gemspec.
8
+
1
9
  == 1.1.9 - 26-Jan-2018
2
10
  * The bytes_free and bytes_total methods were updated to use the fragment size
3
11
  instead of the block size. This fixes Macs using APFS, as well as Solaris 10.
@@ -1,21 +1,26 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
2
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhkamJl
3
3
  cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
4
- MB4XDTE3MDkwMzE1MjMxM1oXDTE4MDkwMzE1MjMxM1owPzERMA8GA1UEAwwIZGpi
4
+ MB4XDTE4MDMxODE1MjIwN1oXDTI4MDMxNTE1MjIwN1owPzERMA8GA1UEAwwIZGpi
5
5
  ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
6
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ8y4kEssxNpAdPhNNw2
7
- p4zkERFndPAnmOKDdErczFYYUA9uYpA7/iTjkLlNyRwvsNHpnMXdSF7vy++YIU+F
8
- Ux3AGTmspupbdSzqBNUhSEJ9TmpjMer1dMYMR9fRw3r3qQreiO2u/O/tV4VpzrDj
9
- 28JC0b1PcKtfobxbnk+hporZqTH6ClOxDsRx+trlkr7q7FLZwTZn0ywjAV8WMVTO
10
- SMmkzXQ37s2Nnrq6r+dDZI0voBxyQkAUzmdBOQTrvOFAo3tuWcnJNR/RRdFhJ9nK
11
- mYMPmEd1z0s+cU0SUEeTvhGv/9LCmbSyZqKezDLYNR4Gb0FOA9D50+4OOi2+3G1o
12
- 1U0CAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJCx
13
- ukSSioTiLtwQCdML0IyEZAJ/MB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
14
- bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
15
- ggEBAJh/dmRaTpJAUeJ2x9CEyy9gSP6SZjMeAwWgPNdowPDyw0JzlpBIrYiTnCYK
16
- 2OqxvIi8L38+rHw3KYL0fEyNqP3RbMl6+SljRwiU0JwEqj9e1pqIx99RTLKeI9PM
17
- F8LxxmDHreGOaY4R8JBOMxys1wBkF/Iilx4qoT4LBn+DzraAlmYjr6O6itIxGten
18
- NFJFS/tFBTTeNW6SJLdDnGd2b7vBBEd/ZpIhuZNxriU6FKWC5FJeBdAiuw6lqHun
19
- QLLepVJthIvwmfc8AU5TJGMawtVAUHIWiuQPoBBVVKOkeEhioO0cV8UabKsKMbE8
20
- VpiARrgH+4lYiRFJ+gKpIbSEJvk=
6
+ bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALgfaroVM6CI06cxr0/h
7
+ A+j+pc8fgpRgBVmHFaFunq28GPC3IvW7Nvc3Y8SnAW7pP1EQIbhlwRIaQzJ93/yj
8
+ u95KpkP7tA9erypnV7dpzBkzNlX14ACaFD/6pHoXoe2ltBxk3CCyyzx70mTqJpph
9
+ 75IB03ni9a8yqn8pmse+s83bFJOAqddSj009sGPcQO+QOWiNxqYv1n5EHcvj2ebO
10
+ 6hN7YTmhx7aSia4qL/quc4DlIaGMWoAhvML7u1fmo53CYxkKskfN8MOecq2vfEmL
11
+ iLu+SsVVEAufMDDFMXMJlvDsviolUSGMSNRTujkyCcJoXKYYxZSNtIiyd9etI0X3
12
+ ctu0uhrFyrMZXCedutvXNjUolD5r9KGBFSWH1R9u2I3n3SAyFF2yzv/7idQHLJJq
13
+ 74BMnx0FIq6fCpu5slAipvxZ3ZkZpEXZFr3cIBtO1gFvQWW7E/Y3ijliWJS1GQFq
14
+ 058qERadHGu1yu1dojmFRo6W2KZvY9al2yIlbkpDrD5MYQIDAQABo3cwdTAJBgNV
15
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFZsMapgzJimzsbaBG2Tm8j5e
16
+ AzgwHQYDVR0RBBYwFIESZGpiZXJnOTZAZ21haWwuY29tMB0GA1UdEgQWMBSBEmRq
17
+ YmVyZzk2QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAW2tnYixXQtKxgGXq
18
+ /3iSWG2bLwvxS4go3srO+aRXZHrFUMlJ5W0mCxl03aazxxKTsVVpZD8QZxvK91OQ
19
+ h9zr9JBYqCLcCVbr8SkmYCi/laxIZxsNE5YI8cC8vvlLI7AMgSfPSnn/Epq1GjGY
20
+ 6L1iRcEDtanGCIvjqlCXO9+BmsnCfEVehqZkQHeYczA03tpOWb6pon2wzvMKSsKH
21
+ ks0ApVdstSLz1kzzAqem/uHdG9FyXdbTAwH1G4ZPv69sQAFAOCgAqYmdnzedsQtE
22
+ 1LQfaQrx0twO+CZJPcRLEESjq8ScQxWRRkfuh2VeR7cEU7L7KqT10mtUwrvw7APf
23
+ DYoeCY9KyjIBjQXfbj2ke5u1hZj94Fsq9FfbEQg8ygCgwThnmkTrrKEiMSs3alYR
24
+ ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
25
+ WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
21
26
  -----END CERTIFICATE-----
@@ -15,6 +15,8 @@ puts "Block size: " + stat.block_size.to_s
15
15
  puts "Fragment size: " + stat.fragment_size.to_s
16
16
  puts "Blocks free: " + stat.blocks_free.to_s
17
17
  puts "Blocks available: " + stat.blocks_available.to_s
18
+ puts "Bytes free: " + stat.bytes_free.to_s
19
+ puts "Bytes available: " + stat.bytes_available.to_s
18
20
  puts "Files/Inodes: " + stat.files.to_s
19
21
  puts "Files/Inodes free: " + stat.files_free.to_s
20
22
  puts "Files/Inodes available: " + stat.files_available.to_s
@@ -1,12 +1,83 @@
1
1
  module Sys
2
2
  class Filesystem
3
3
  # The version of the sys-filesystem library
4
- VERSION = '1.1.9'.freeze
4
+ VERSION = '1.2.0'.freeze
5
5
  end
6
6
  end
7
7
 
8
+ require 'rbconfig'
9
+
8
10
  if File::ALT_SEPARATOR
9
11
  require_relative 'windows/sys/filesystem'
10
12
  else
11
13
  require_relative 'unix/sys/filesystem'
12
14
  end
15
+
16
+ # Methods universal to all platforms
17
+
18
+ module Sys
19
+ class Filesystem
20
+ class Stat
21
+ # Returns true if the filesystem is case sensitive for the current path.
22
+ # Typically this will be any path on MS Windows or Macs using HFS.
23
+ #
24
+ # For a root path (really any path without actual a-z characters) we
25
+ # take a best guess based on the host operating system. However, as a
26
+ # general rule, I do not recommend using this method for a root path.
27
+ #
28
+ def case_insensitive?
29
+ if path !~ /\w+/
30
+ if RbConfig::CONFIG['host_os'] =~ /darwin|mac|windows|mswin|mingw/i
31
+ true # Assumes HFS
32
+ else
33
+ false
34
+ end
35
+ else
36
+ File.identical?(path, path.swapcase)
37
+ end
38
+ end
39
+
40
+ # Opposite of case_insensitive?
41
+ #
42
+ def case_sensitive?
43
+ !case_insensitive?
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ # Some convenient methods for converting bytes to kb, mb, and gb.
50
+ #
51
+ class Numeric
52
+ # call-seq:
53
+ # <tt>num</tt>.to_kb
54
+ #
55
+ # Returns +num+ in terms of kilobytes.
56
+ def to_kb
57
+ self / 1024
58
+ end
59
+
60
+ # call-seq:
61
+ # <tt>num</tt>.to_mb
62
+ #
63
+ # Returns +num+ in terms of megabytes.
64
+ def to_mb
65
+ self / 1048576
66
+ end
67
+
68
+ # call-seq:
69
+ # <tt>num</tt>.to_gb
70
+ #
71
+ # Returns +num+ in terms of gigabytes.
72
+ def to_gb
73
+ self / 1073741824
74
+ end
75
+
76
+ # call-seq:
77
+ # <tt>num</tt>.to_gb
78
+ #
79
+ # Returns +num+ in terms of terabytes.
80
+ def to_tb
81
+ self / 1099511627776
82
+ end
83
+ end
@@ -133,6 +133,11 @@ module Sys
133
133
 
134
134
  # Returns the total amount of free space on the partition.
135
135
  def bytes_free
136
+ blocks_free * fragment_size
137
+ end
138
+
139
+ # Returns the amount of free space available to unprivileged processes.
140
+ def bytes_available
136
141
  blocks_available * fragment_size
137
142
  end
138
143
 
@@ -376,25 +381,3 @@ module Sys
376
381
  end
377
382
  end
378
383
  end
379
-
380
- class Numeric
381
- # Converts a number to kilobytes.
382
- def to_kb
383
- self / 1024
384
- end
385
-
386
- # Converts a number to megabytes.
387
- def to_mb
388
- self / 1048576
389
- end
390
-
391
- # Converts a number to gigabytes.
392
- def to_gb
393
- self / 1073741824
394
- end
395
-
396
- # Converts a number to terabytes.
397
- def to_tb
398
- self / 1099511627776
399
- end
400
- end
@@ -93,9 +93,12 @@ module Sys
93
93
  # The file system type, e.g. NTFS, FAT, etc.
94
94
  attr_reader :base_type
95
95
 
96
- # Returns the total amount of free space on the partition.
96
+ # The total amount of free space on the partition.
97
97
  attr_reader :bytes_free
98
98
 
99
+ # The amount of free space available to unprivileged processes.
100
+ attr_reader :bytes_available
101
+
99
102
  alias inodes files
100
103
  alias inodes_free files_free
101
104
  alias inodes_available files_available
@@ -264,7 +267,9 @@ module Sys
264
267
  bytes_free = FFI::MemoryPointer.new(:ulong_long)
265
268
  total_bytes = FFI::MemoryPointer.new(:ulong_long)
266
269
 
267
- mpoint = mount_point(path)
270
+ mpoint = mount_point(path).to_s
271
+ mpoint << '/' unless mpoint.end_with?('/')
272
+
268
273
  wpath = path.to_s.wincode
269
274
 
270
275
  # We need this call for the 64 bit support
@@ -304,7 +309,7 @@ module Sys
304
309
  flags_ptr = FFI::MemoryPointer.new(:ulong)
305
310
 
306
311
  bool = GetVolumeInformationW(
307
- mpoint.to_s.wincode,
312
+ mpoint.wincode,
308
313
  vol_name_ptr,
309
314
  vol_name_ptr.size,
310
315
  vol_serial_ptr,
@@ -343,6 +348,7 @@ module Sys
343
348
  stat_obj.instance_variable_set(:@flags, flags)
344
349
  stat_obj.instance_variable_set(:@filesystem_id, vol_serial)
345
350
  stat_obj.instance_variable_set(:@bytes_free, bytes_free)
351
+ stat_obj.instance_variable_set(:@bytes_available, bytes_avail)
346
352
 
347
353
  stat_obj.freeze # Read-only object
348
354
  end
@@ -394,39 +400,3 @@ module Sys
394
400
  end
395
401
  end
396
402
  end
397
-
398
- # Some convenient methods for converting bytes to kb, mb, and gb.
399
- #
400
- class Numeric
401
- # call-seq:
402
- # <tt>num</tt>.to_kb
403
- #
404
- # Returns +num+ in terms of kilobytes.
405
- def to_kb
406
- self / 1024
407
- end
408
-
409
- # call-seq:
410
- # <tt>num</tt>.to_mb
411
- #
412
- # Returns +num+ in terms of megabytes.
413
- def to_mb
414
- self / 1048576
415
- end
416
-
417
- # call-seq:
418
- # <tt>num</tt>.to_gb
419
- #
420
- # Returns +num+ in terms of gigabytes.
421
- def to_gb
422
- self / 1073741824
423
- end
424
-
425
- # call-seq:
426
- # <tt>num</tt>.to_gb
427
- #
428
- # Returns +num+ in terms of terabytes.
429
- def to_tb
430
- self / 1099511627776
431
- end
432
- end
@@ -2,13 +2,13 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'sys-filesystem'
5
- spec.version = '1.1.9'
5
+ spec.version = '1.2.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
10
  spec.test_file = 'test/test_sys_filesystem.rb'
11
- spec.license = 'Artistic 2.0'
11
+ spec.license = 'Apache-2.0'
12
12
  spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
13
13
  spec.cert_chain = Dir['certs/*']
14
14
 
@@ -18,6 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.add_development_dependency('test-unit', '>= 2.5.0')
19
19
  spec.add_development_dependency('rake')
20
20
 
21
+ spec.metadata = {
22
+ 'homepage_uri' => 'https://github.com/djberg96/sys-filesystem',
23
+ 'bug_tracker_uri' => 'https://github.com/djberg96/sys-filesystem/issues',
24
+ 'changelog_uri' => 'https://github.com/djberg96/sys-filesystem/blob/master/CHANGES',
25
+ 'documentation_uri' => 'https://github.com/djberg96/sys-filesystem/wiki',
26
+ 'source_code_uri' => 'https://github.com/djberg96/sys-filesystem',
27
+ 'wiki_uri' => 'https://github.com/djberg96/sys-filesystem/wiki'
28
+ }
29
+
21
30
  spec.description = <<-EOF
22
31
  The sys-filesystem library provides a cross-platform interface for
23
32
  gathering filesystem information, such as disk space and mount point data.
@@ -25,7 +25,7 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  def test_version
28
- assert_equal('1.1.9', Filesystem::VERSION)
28
+ assert_equal('1.2.0', Filesystem::VERSION)
29
29
  end
30
30
 
31
31
  def test_stat_path
@@ -132,6 +132,13 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
132
132
  def test_stat_bytes_free
133
133
  assert_respond_to(@stat, :bytes_free)
134
134
  assert_kind_of(Numeric, @stat.bytes_free)
135
+ assert_equal(@stat.bytes_free, @stat.blocks_free * @stat.fragment_size)
136
+ end
137
+
138
+ def test_stat_bytes_available
139
+ assert_respond_to(@stat, :bytes_available)
140
+ assert_kind_of(Numeric, @stat.bytes_available)
141
+ assert_equal(@stat.bytes_available, @stat.blocks_available * @stat.fragment_size)
135
142
  end
136
143
 
137
144
  def test_stat_bytes_used
@@ -148,6 +155,18 @@ class TC_Sys_Filesystem_Unix < Test::Unit::TestCase
148
155
  assert_raises(ArgumentError){ Filesystem.stat }
149
156
  end
150
157
 
158
+ def test_stat_case_insensitive
159
+ expected = @@darwin ? true : false
160
+ assert_equal(expected, @stat.case_insensitive?)
161
+ assert_equal(expected, Filesystem.stat(Dir.home).case_insensitive?)
162
+ end
163
+
164
+ def test_stat_case_sensitive
165
+ expected = @@darwin ? false : true
166
+ assert_equal(expected, @stat.case_sensitive?)
167
+ assert_equal(expected, Filesystem.stat(Dir.home).case_sensitive?)
168
+ end
169
+
151
170
  def test_numeric_methods_basic
152
171
  assert_respond_to(@size, :to_kb)
153
172
  assert_respond_to(@size, :to_mb)
@@ -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.1.9', Filesystem::VERSION)
23
+ assert_equal('1.2.0', Filesystem::VERSION)
24
24
  end
25
25
 
26
26
  test "stat path works as expected" do
@@ -30,7 +30,21 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
30
30
 
31
31
  test "stat block_size works as expected" do
32
32
  assert_respond_to(@stat, :block_size)
33
- assert_kind_of(Fixnum, @stat.block_size)
33
+ assert_kind_of(Numeric, @stat.block_size)
34
+ end
35
+
36
+ test "stat works with or without trailing slash on standard paths" do
37
+ assert_equal("C:/", Filesystem.stat("C:/").path)
38
+ assert_equal("C:/Users", Filesystem.stat("C:/Users").path)
39
+ assert_equal("C:/Users/", Filesystem.stat("C:/Users/").path)
40
+ assert_equal("C:/Users/", Filesystem.stat("C:/Users/").path)
41
+ end
42
+
43
+ test "stat works with or without trailing slash on UNC paths" do
44
+ assert_equal("//127.0.0.1/C$", Filesystem.stat("//127.0.0.1/C$").path)
45
+ assert_equal("//127.0.0.1/C$/", Filesystem.stat("//127.0.0.1/C$/").path)
46
+ assert_equal("\\\\127.0.0.1\\C$", Filesystem.stat("\\\\127.0.0.1\\C$").path)
47
+ assert_equal("\\\\127.0.0.1\\C$\\", Filesystem.stat("\\\\127.0.0.1\\C$\\").path)
34
48
  end
35
49
 
36
50
  test "stat fragment_size works as expected" do
@@ -40,17 +54,17 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
40
54
 
41
55
  test "stat blocks works as expected" do
42
56
  assert_respond_to(@stat, :blocks)
43
- assert_kind_of(Fixnum, @stat.blocks)
57
+ assert_kind_of(Numeric, @stat.blocks)
44
58
  end
45
59
 
46
60
  test "stat blocks_free works as expected" do
47
61
  assert_respond_to(@stat, :blocks_free)
48
- assert_kind_of(Fixnum, @stat.blocks_free)
62
+ assert_kind_of(Numeric, @stat.blocks_free)
49
63
  end
50
64
 
51
65
  test "stat blocks_available works as expected" do
52
66
  assert_respond_to(@stat, :blocks_available)
53
- assert_kind_of(Fixnum, @stat.blocks_available)
67
+ assert_kind_of(Numeric, @stat.blocks_available)
54
68
  end
55
69
 
56
70
  test "block stats return expected relative values" do
@@ -92,12 +106,12 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
92
106
 
93
107
  test "stat flags works as expected" do
94
108
  assert_respond_to(@stat, :flags)
95
- assert_kind_of(Fixnum, @stat.flags)
109
+ assert_kind_of(Numeric, @stat.flags)
96
110
  end
97
111
 
98
112
  test "stat name_max works as expected" do
99
113
  assert_respond_to(@stat, :name_max)
100
- assert_kind_of(Fixnum, @stat.name_max)
114
+ assert_kind_of(Numeric, @stat.name_max)
101
115
  end
102
116
 
103
117
  test "stat base_type works as expected" do
@@ -113,6 +127,13 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
113
127
  test "stat bytes_free basic functionality" do
114
128
  assert_respond_to(@stat, :bytes_free)
115
129
  assert_kind_of(Numeric, @stat.bytes_free)
130
+ assert_equal(@stat.bytes_free, @stat.blocks_free * @stat.block_size)
131
+ end
132
+
133
+ test "stat bytes_available basic functionality" do
134
+ assert_respond_to(@stat, :bytes_available)
135
+ assert_kind_of(Numeric, @stat.bytes_available)
136
+ assert_equal(@stat.bytes_available, @stat.blocks_available * @stat.block_size)
116
137
  end
117
138
 
118
139
  test "stat bytes_used basic functionality" do
@@ -125,6 +146,11 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
125
146
  assert_kind_of(Float, @stat.percent_used)
126
147
  end
127
148
 
149
+ test "case_insensitive returns expected result" do
150
+ assert_respond_to(@stat, :case_insensitive?)
151
+ assert_true(@stat.case_insensitive?)
152
+ end
153
+
128
154
  test "mount_point singleton method basic functionality" do
129
155
  assert_respond_to(Filesystem, :mount_point)
130
156
  assert_nothing_raised{ Filesystem.mount_point(Dir.pwd) }
@@ -234,17 +260,17 @@ class TC_Sys_Filesystem_Windows < Test::Unit::TestCase
234
260
  assert_raise(ArgumentError){ Filesystem.mounts("C:\\") }
235
261
  end
236
262
 
237
- test "custom Fixnum#to_kb method works as expected" do
263
+ test "custom Numeric#to_kb method works as expected" do
238
264
  assert_respond_to(@size, :to_kb)
239
265
  assert_equal(57344, @size.to_kb)
240
266
  end
241
267
 
242
- test "custom Fixnum#to_mb method works as expected" do
268
+ test "custom Numeric#to_mb method works as expected" do
243
269
  assert_respond_to(@size, :to_mb)
244
270
  assert_equal(56, @size.to_mb)
245
271
  end
246
272
 
247
- test "custom Fixnum#to_gb method works as expected" do
273
+ test "custom Numeric#to_gb method works as expected" do
248
274
  assert_respond_to(@size, :to_gb)
249
275
  assert_equal(0, @size.to_gb)
250
276
  end
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.1.9
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -10,27 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
13
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhkamJl
14
14
  cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
15
- MB4XDTE3MDkwMzE1MjMxM1oXDTE4MDkwMzE1MjMxM1owPzERMA8GA1UEAwwIZGpi
15
+ MB4XDTE4MDMxODE1MjIwN1oXDTI4MDMxNTE1MjIwN1owPzERMA8GA1UEAwwIZGpi
16
16
  ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
17
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ8y4kEssxNpAdPhNNw2
18
- p4zkERFndPAnmOKDdErczFYYUA9uYpA7/iTjkLlNyRwvsNHpnMXdSF7vy++YIU+F
19
- Ux3AGTmspupbdSzqBNUhSEJ9TmpjMer1dMYMR9fRw3r3qQreiO2u/O/tV4VpzrDj
20
- 28JC0b1PcKtfobxbnk+hporZqTH6ClOxDsRx+trlkr7q7FLZwTZn0ywjAV8WMVTO
21
- SMmkzXQ37s2Nnrq6r+dDZI0voBxyQkAUzmdBOQTrvOFAo3tuWcnJNR/RRdFhJ9nK
22
- mYMPmEd1z0s+cU0SUEeTvhGv/9LCmbSyZqKezDLYNR4Gb0FOA9D50+4OOi2+3G1o
23
- 1U0CAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJCx
24
- ukSSioTiLtwQCdML0IyEZAJ/MB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
25
- bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
26
- ggEBAJh/dmRaTpJAUeJ2x9CEyy9gSP6SZjMeAwWgPNdowPDyw0JzlpBIrYiTnCYK
27
- 2OqxvIi8L38+rHw3KYL0fEyNqP3RbMl6+SljRwiU0JwEqj9e1pqIx99RTLKeI9PM
28
- F8LxxmDHreGOaY4R8JBOMxys1wBkF/Iilx4qoT4LBn+DzraAlmYjr6O6itIxGten
29
- NFJFS/tFBTTeNW6SJLdDnGd2b7vBBEd/ZpIhuZNxriU6FKWC5FJeBdAiuw6lqHun
30
- QLLepVJthIvwmfc8AU5TJGMawtVAUHIWiuQPoBBVVKOkeEhioO0cV8UabKsKMbE8
31
- VpiARrgH+4lYiRFJ+gKpIbSEJvk=
17
+ bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALgfaroVM6CI06cxr0/h
18
+ A+j+pc8fgpRgBVmHFaFunq28GPC3IvW7Nvc3Y8SnAW7pP1EQIbhlwRIaQzJ93/yj
19
+ u95KpkP7tA9erypnV7dpzBkzNlX14ACaFD/6pHoXoe2ltBxk3CCyyzx70mTqJpph
20
+ 75IB03ni9a8yqn8pmse+s83bFJOAqddSj009sGPcQO+QOWiNxqYv1n5EHcvj2ebO
21
+ 6hN7YTmhx7aSia4qL/quc4DlIaGMWoAhvML7u1fmo53CYxkKskfN8MOecq2vfEmL
22
+ iLu+SsVVEAufMDDFMXMJlvDsviolUSGMSNRTujkyCcJoXKYYxZSNtIiyd9etI0X3
23
+ ctu0uhrFyrMZXCedutvXNjUolD5r9KGBFSWH1R9u2I3n3SAyFF2yzv/7idQHLJJq
24
+ 74BMnx0FIq6fCpu5slAipvxZ3ZkZpEXZFr3cIBtO1gFvQWW7E/Y3ijliWJS1GQFq
25
+ 058qERadHGu1yu1dojmFRo6W2KZvY9al2yIlbkpDrD5MYQIDAQABo3cwdTAJBgNV
26
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFZsMapgzJimzsbaBG2Tm8j5e
27
+ AzgwHQYDVR0RBBYwFIESZGpiZXJnOTZAZ21haWwuY29tMB0GA1UdEgQWMBSBEmRq
28
+ YmVyZzk2QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAW2tnYixXQtKxgGXq
29
+ /3iSWG2bLwvxS4go3srO+aRXZHrFUMlJ5W0mCxl03aazxxKTsVVpZD8QZxvK91OQ
30
+ h9zr9JBYqCLcCVbr8SkmYCi/laxIZxsNE5YI8cC8vvlLI7AMgSfPSnn/Epq1GjGY
31
+ 6L1iRcEDtanGCIvjqlCXO9+BmsnCfEVehqZkQHeYczA03tpOWb6pon2wzvMKSsKH
32
+ ks0ApVdstSLz1kzzAqem/uHdG9FyXdbTAwH1G4ZPv69sQAFAOCgAqYmdnzedsQtE
33
+ 1LQfaQrx0twO+CZJPcRLEESjq8ScQxWRRkfuh2VeR7cEU7L7KqT10mtUwrvw7APf
34
+ DYoeCY9KyjIBjQXfbj2ke5u1hZj94Fsq9FfbEQg8ygCgwThnmkTrrKEiMSs3alYR
35
+ ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
+ WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
32
37
  -----END CERTIFICATE-----
33
- date: 2018-01-26 00:00:00.000000000 Z
38
+ date: 2019-01-01 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: ffi
@@ -118,8 +123,14 @@ files:
118
123
  - lib/sys/windows/sys/filesystem.rb
119
124
  homepage: https://github.com/djberg96/sys-filesystem
120
125
  licenses:
121
- - Artistic 2.0
122
- metadata: {}
126
+ - Apache-2.0
127
+ metadata:
128
+ homepage_uri: https://github.com/djberg96/sys-filesystem
129
+ bug_tracker_uri: https://github.com/djberg96/sys-filesystem/issues
130
+ changelog_uri: https://github.com/djberg96/sys-filesystem/blob/master/CHANGES
131
+ documentation_uri: https://github.com/djberg96/sys-filesystem/wiki
132
+ source_code_uri: https://github.com/djberg96/sys-filesystem
133
+ wiki_uri: https://github.com/djberg96/sys-filesystem/wiki
123
134
  post_install_message:
124
135
  rdoc_options: []
125
136
  require_paths:
@@ -136,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
147
  version: '0'
137
148
  requirements: []
138
149
  rubyforge_project:
139
- rubygems_version: 2.7.2
150
+ rubygems_version: 2.7.6
140
151
  signing_key:
141
152
  specification_version: 4
142
153
  summary: A Ruby interface for getting file system information.
metadata.gz.sig CHANGED
Binary file