itools 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|