diskcatalog 0.9.0 → 1.0.0

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: 5598122f882a50aa00d77dd73ee3a1501e609778d85ee5b5bb7d149dbd226ed9
4
- data.tar.gz: 372b530e449db5d333067e3ca82949dfef4b3297ea7dd76cac495ab39d98bf7f
3
+ metadata.gz: 3295399f12b63b03ab5cc2a9bfd0781fe4445a40517d28c906b6c1ae80e62fbb
4
+ data.tar.gz: b4c207037f9fe62998cc636acbcb3a6d37ce450b4ce1a2045dfbc92e32d885ac
5
5
  SHA512:
6
- metadata.gz: f739b3fbafff3bc58adbe9dfd274b14860c105267d007551cf290c7a0edd659e825f3e16b621b93ad0d58e21ed2aa1fc75c8a17fa0c8e498a769bbcc30318571
7
- data.tar.gz: 9705f8b4e95317eab5a4693922dfb7a00d30642105d6036f4cbccba3bb6655df6839df745c0592c85af5354d54f65e2bce34d3babfb981f7080ddb28fce166e2
6
+ metadata.gz: 1587a57db2a0fa849fffb524ae5f73ba76c5095a07ab1dce8586d6368158552d630d08661b7b674828532e33647540e56efafa9aa1e038b9c3b30d95b1050683
7
+ data.tar.gz: c9cf83771f43db8d9cbf757c58c8674c0c45729a7bd2bcd272a5b491bbdebc3c7a337477cec2135e6c3e0e3af13e7ea62704e493d8d88397ad4b513ce344164b
data/Gemfile.lock CHANGED
@@ -1,13 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- diskcatalog (0.9.0)
4
+ diskcatalog (1.0.0)
5
+ sys-filesystem
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  specs:
10
+ ffi (1.15.5)
11
+ ffi (1.15.5-x64-mingw32)
9
12
  minitest (5.19.0)
10
13
  rake (13.0.6)
14
+ sys-filesystem (1.4.3)
15
+ ffi (~> 1.1)
11
16
 
12
17
  PLATFORMS
13
18
  arm64-darwin-22
data/diskcatalog.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.bindir = "exe"
30
30
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
-
32
+ spec.add_dependency "sys-filesystem"
33
33
  # Uncomment to register a new dependency of your gem
34
34
  # spec.add_dependency "example-gem", "~> 1.0"
35
35
 
data/diskcatalog.iml CHANGED
@@ -5,6 +5,31 @@
5
5
  <content url="file://$MODULE_DIR$" />
6
6
  <orderEntry type="inheritedJdk" />
7
7
  <orderEntry type="sourceFolder" forTests="false" />
8
+ <orderEntry type="module-library">
9
+ <library name="ffi (vbundled(1.15.5)) [path][gem]" type="rubylib">
10
+ <properties>
11
+ <option name="version" value="4" />
12
+ </properties>
13
+ <CLASSES>
14
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/ext" />
15
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/lib" />
16
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/rakelib" />
17
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/samples" />
18
+ </CLASSES>
19
+ <JAVADOC />
20
+ <SOURCES>
21
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/ext" />
22
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/lib" />
23
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/rakelib" />
24
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/samples" />
25
+ </SOURCES>
26
+ <excluded>
27
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/ext" />
28
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/rakelib" />
29
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/ffi-1.15.5/samples" />
30
+ </excluded>
31
+ </library>
32
+ </orderEntry>
8
33
  <orderEntry type="module-library">
9
34
  <library name="minitest (vbundled(5.19.0)) [path][gem]" type="rubylib">
10
35
  <properties>
@@ -46,27 +71,52 @@
46
71
  </excluded>
47
72
  </library>
48
73
  </orderEntry>
74
+ <orderEntry type="module-library">
75
+ <library name="sys-filesystem (vbundled(1.4.3)) [path][gem]" type="rubylib">
76
+ <properties>
77
+ <option name="version" value="4" />
78
+ </properties>
79
+ <CLASSES>
80
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/lib" />
81
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/spec" />
82
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/certs" />
83
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/examples" />
84
+ </CLASSES>
85
+ <JAVADOC />
86
+ <SOURCES>
87
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/lib" />
88
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/spec" />
89
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/certs" />
90
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/examples" />
91
+ </SOURCES>
92
+ <excluded>
93
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/spec" />
94
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/certs" />
95
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.1.0/gems/sys-filesystem-1.4.3/examples" />
96
+ </excluded>
97
+ </library>
98
+ </orderEntry>
49
99
  <orderEntry type="library" scope="PROVIDED" name="bundler (v2.4.10, rbenv: 3.1.4) [gem]" level="application" />
50
100
  </component>
51
101
  <component name="RakeTasksCache">
52
102
  <option name="myRootTask">
53
103
  <RakeTaskImpl id="rake">
54
104
  <subtasks>
55
- <RakeTaskImpl description="Build diskcatalog-0.3.0.gem into the pkg directory" fullCommand="build" id="build" />
105
+ <RakeTaskImpl description="Build diskcatalog-0.9.0.gem into the pkg directory" fullCommand="build" id="build" />
56
106
  <RakeTaskImpl id="build">
57
107
  <subtasks>
58
- <RakeTaskImpl description="Generate SHA512 checksum if diskcatalog-0.3.0.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
108
+ <RakeTaskImpl description="Generate SHA512 checksum if diskcatalog-0.9.0.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
59
109
  </subtasks>
60
110
  </RakeTaskImpl>
61
111
  <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
62
112
  <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
63
- <RakeTaskImpl description="Build and install diskcatalog-0.3.0.gem into system gems" fullCommand="install" id="install" />
113
+ <RakeTaskImpl description="Build and install diskcatalog-0.9.0.gem into system gems" fullCommand="install" id="install" />
64
114
  <RakeTaskImpl id="install">
65
115
  <subtasks>
66
- <RakeTaskImpl description="Build and install diskcatalog-0.3.0.gem into system gems without network access" fullCommand="install:local" id="local" />
116
+ <RakeTaskImpl description="Build and install diskcatalog-0.9.0.gem into system gems without network access" fullCommand="install:local" id="local" />
67
117
  </subtasks>
68
118
  </RakeTaskImpl>
69
- <RakeTaskImpl description="Create tag v0.3.0 and build and push diskcatalog-0.3.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
119
+ <RakeTaskImpl description="Create tag v0.9.0 and build and push diskcatalog-0.9.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
70
120
  <RakeTaskImpl description="Run tests" fullCommand="test" id="test" />
71
121
  <RakeTaskImpl description="" fullCommand="default" id="default" />
72
122
  <RakeTaskImpl description="" fullCommand="release" id="release" />
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Diskcatalog
4
- VERSION = "0.9.0"
4
+ VERSION = "1.0.0"
5
5
  end
data/lib/diskcatalog.rb CHANGED
@@ -6,8 +6,7 @@ require_relative "diskcatalog/version"
6
6
  require 'optparse'
7
7
  require 'fileutils'
8
8
  require 'yaml'
9
-
10
-
9
+ require 'sys/filesystem'
11
10
 
12
11
  module Diskcatalog
13
12
  DEF_CONFIG = File.expand_path("~/.catalogrc")
@@ -195,11 +194,43 @@ module Diskcatalog
195
194
  end
196
195
 
197
196
  def make_info
197
+ puts "Create info for #{@opt.dir}"
198
+ unless FileTest.directory?(@opt.dir)
199
+ raise RuntimeError
200
+ end
201
+
202
+ stat = Sys::Filesystem.stat(@opt.dir)
203
+ free_bytes = number_to_human_size(stat.blocks_available * stat.block_size)
204
+ # puts number_to_human_size(free_bytes)
205
+ total_bytes = number_to_human_size(stat.blocks * stat.block_size)
206
+ #puts number_to_human_size(total_bytes)
207
+
198
208
  out = File.open(@opt.output_info, "w:utf-8")
199
209
  created = Time.now.strftime("%Y-%m-%dT%H:%M:%S")
200
210
  out.puts "Created: #{created}"
211
+ out.puts "Total: #{total_bytes}"
212
+ out.puts "Free: #{free_bytes}"
201
213
  out.close if out
202
214
  end
215
+
216
+ def number_to_human_size(size)
217
+ kb = 1024
218
+ mb = 1024**2
219
+ gb = 1024**3
220
+ tb = 1024**4
221
+ case
222
+ when size < 1024
223
+ '%d Bytes' % size
224
+ when size < kb
225
+ '%.1f KB' % (size / kb)
226
+ when size < mb
227
+ '%.1f MB' % (size / mb)
228
+ when size < 1024**4
229
+ '%.1f GB' % (size / gb)
230
+ else
231
+ '%.1f TB' % (size / tb)
232
+ end.sub('.0', '')
233
+ end
203
234
  end
204
235
 
205
236
  class SearchCommand < Command
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diskcatalog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - src
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-22 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2023-08-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sys-filesystem
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Create disk catalog.
14
28
  email:
15
29
  - src@srcw.net