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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 625fda3da43d72a0cb2b797731b55a29576fc2beaa0c433d774237258974b8ef
4
- data.tar.gz: 7c8ca6b166aa2c348301db5f9f071d85a826132c5f14fb7b2a9e6aeaabed468d
3
+ metadata.gz: 19cf3efe85ea34705a5721117d715167156f5233ba908ab1e75ca504528f8a38
4
+ data.tar.gz: 3dda25dbe3648a256cb9499035879496a0a8b24fa8939ef989fe7e9f65c1da1e
5
5
  SHA512:
6
- metadata.gz: cdf1fa49643fff018ef32829a154dadb2587bb846b69b230760c4e221f4678d0a1af7758dfd31738af53eae8138c04a157a84634f05e73c7afa7eee03f07d711
7
- data.tar.gz: 96533c140b4e946ec812c62fc8eb057e3af0922119943b53c4824a3e853425d58d160ab6c9a3424f92fea54730c2b7c53d7e14bda24b0407fe094701a0b5ec76
6
+ metadata.gz: da77d13e9c7f7b2ed942086211df336a09b31b8bc47be38613fccdaf30f7d04255267cecae63523078b6a8e7e80024cbbff1ef7f666f1d442bdf35119eebe952
7
+ data.tar.gz: f9343290c1d3c318782517d430a92e4cf6c054e8ea99e69908c07f3b7646109dc62b95976c80c88abfa23df97a8f0b35568bc1ae61f60f688e6778f57a8d6639
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- itools (0.1.6)
4
+ itools (0.1.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Itools
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
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.6
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