itools 0.1.6 → 0.1.7
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/itools/get_size.rb +57 -0
- data/lib/itools/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19cf3efe85ea34705a5721117d715167156f5233ba908ab1e75ca504528f8a38
|
4
|
+
data.tar.gz: 3dda25dbe3648a256cb9499035879496a0a8b24fa8939ef989fe7e9f65c1da1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da77d13e9c7f7b2ed942086211df336a09b31b8bc47be38613fccdaf30f7d04255267cecae63523078b6a8e7e80024cbbff1ef7f666f1d442bdf35119eebe952
|
7
|
+
data.tar.gz: f9343290c1d3c318782517d430a92e4cf6c054e8ea99e69908c07f3b7646109dc62b95976c80c88abfa23df97a8f0b35568bc1ae61f60f688e6778f57a8d6639
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'find'
|
2
|
+
module Itools
|
3
|
+
class Memory
|
4
|
+
# 分发吹
|
5
|
+
def hand_cal_size(file)
|
6
|
+
handle_method = ''
|
7
|
+
if File.file?(file)
|
8
|
+
puts "\033[32m开始计算文件的大小...\033[0m"
|
9
|
+
handle_method = 'cal_file'
|
10
|
+
elsif File::directory?(file)
|
11
|
+
handle_method = 'cal_folder'
|
12
|
+
puts "\033[32m开始计算文件夹的大小...\033[0m"
|
13
|
+
else
|
14
|
+
puts "\033[31m参数异常,请确保传入的第一个参数是文件路径或者文件夹路径\033[0m"
|
15
|
+
return
|
16
|
+
end
|
17
|
+
self.send(handle_method,file)
|
18
|
+
end
|
19
|
+
# 计算单个文件
|
20
|
+
def cal_file(file)
|
21
|
+
puts "\033[32m文件的大小为:#{get_show_size(File.size(file))}.\033[0m"
|
22
|
+
end
|
23
|
+
# 计算整个文件夹
|
24
|
+
def cal_folder(folder)
|
25
|
+
sum = 0
|
26
|
+
file_count = 0
|
27
|
+
Find.find(folder) do |filename|
|
28
|
+
if File.file?(filename)
|
29
|
+
sum = sum + File.size(filename)
|
30
|
+
file_count = file_count + 1
|
31
|
+
puts "#{File.basename(filename)}的大小为:#{get_show_size(File.size(filename))}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
puts "\033[32m文件夹中共#{file_count}个文件,共占用内存大小为:#{get_show_size(sum)}.\033[0m"
|
35
|
+
# puts `du -b #{folder} | awk '{print $1}'`.to_i
|
36
|
+
end
|
37
|
+
# get_show_size
|
38
|
+
def get_show_size(size)
|
39
|
+
if size > 1024 * 1024
|
40
|
+
return format("%.2f",(size.to_f/(1024*1024))) + "MB"
|
41
|
+
elsif size > 1024
|
42
|
+
return format("%.2f",(size.to_f/1024)) + "KB"
|
43
|
+
else
|
44
|
+
return size.to_s + "B"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
# 对外暴露方法
|
48
|
+
def self.sizeFor(file)
|
49
|
+
if file.nil?
|
50
|
+
puts "\033[31m参数异常,请传入一个参数\033[0m"
|
51
|
+
return
|
52
|
+
end
|
53
|
+
memory = Memory.new
|
54
|
+
memory.hand_cal_size(file)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/itools/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zhanggui
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- itools.gemspec
|
94
94
|
- lib/itools.rb
|
95
95
|
- lib/itools/find_unuse_img.rb
|
96
|
+
- lib/itools/get_size.rb
|
96
97
|
- lib/itools/link_map.rb
|
97
98
|
- lib/itools/string_searcher.rb
|
98
99
|
- lib/itools/version.rb
|