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 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