raykit 0.0.521 → 0.0.523

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/raykit/dir.rb +23 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7843040a0715456b64deae8dfd6d7f7d5804cc5b8504cdf3af4867f87720bbf
4
- data.tar.gz: bbbebf0f522b4bdd807de62ad1bbc0b7cff69d8c18a82733c12786a1c3e5d07a
3
+ metadata.gz: f1e6b409a20afecfaf7d193ef6e598a8a13bb4f6be808f1c91bce04b36035873
4
+ data.tar.gz: b8533493459978012d81bffa523adaf6fa692d0d30fc5ffa8a640d1d3a6c687e
5
5
  SHA512:
6
- metadata.gz: 80633b5cf8e6f8534796436f3c20a40377d50c01a9051f9f0ffbbab2f61c1075e54df84684eba506ba9ac431658fbf2b91b8ae6fbe3ba64d8d6d08e70a6082c1
7
- data.tar.gz: 71976e23b5f30612703b462bbad613c85eb126fb219139c580bb2eabd60b239e42dbd21a68d9e5c929d8da5d9094df5047c9dc9e230a335535e7cdcbb95b6dee
6
+ metadata.gz: 655039c330d655e644c36c2e929be74d0824503f756a76328a31bab9b40d268a9cc3d802fb611ab43af81c34649f4899bf3489c26d28c0a8a5bb2df794b01ff8
7
+ data.tar.gz: f178b9c4aa17d585cfe9dc6774040e6ddc417ea33cea2b7ff9a00ba8beb278c05fc540aa197d42ea2af1062945231e39bdf1064066b848b85b08f737838ef369
data/lib/raykit/dir.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "tmpdir"
4
+ require "find"
4
5
  require_relative "./environment"
5
6
 
6
7
  class Dir
@@ -12,6 +13,28 @@ class Dir
12
13
  File.open("#{dir}/#{relative_name}", "w") { |f| f.write text }
13
14
  end
14
15
 
16
+ def self.directory_size(directory)
17
+ total_size = 0
18
+ Find.find(directory) do |path|
19
+ if File.file?(path)
20
+ total_size += File.size(path)
21
+ end
22
+ end
23
+ total_size
24
+ end
25
+
26
+ def humanize_size(size_in_bytes)
27
+ units = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB"]
28
+
29
+ return "0 Bytes" if size_in_bytes == 0
30
+
31
+ exponent = (Math.log(size_in_bytes) / Math.log(1024)).to_i
32
+ exponent = units.size - 1 if exponent > units.size - 1 # Cap at the largest known unit
33
+
34
+ size = size_in_bytes.to_f / (1024 ** exponent)
35
+ format("%.2f %s", size, units[exponent])
36
+ end
37
+
15
38
  def self.get_git_directories(dir)
16
39
  git_dirs = []
17
40
  Dir.chdir(dir) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raykit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.521
4
+ version: 0.0.523
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lou Parslow