file-timestamp 1.5.0 → 1.6.0
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 +8 -8
- data/bin/timestamp +22 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGU5Y2NmMGU0NWU5ZDY0OWUxNWIyMDVkOWM1OWMyOWVjYmZhMzY4Nw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
N2MyZWY3ZDMxMGQ4ZGVlZDNlNzhmZjU2N2Q0MTIxZDU5Nzg3NzcyMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NWY0Yjc1YTJhZDJhNTg4YWQzYTZhZGRkMmMyNDRmMmE1OTJlNjlhY2RkNGQw
|
10
|
+
MDA3NWE2NzA1NzE2YTlmMTBlZmQ4ZGFjODA0NWMyNGNmN2YzMDg2YWQ0ZTU0
|
11
|
+
OTI1YThkODZhYWZlMzM5NDc1ZjMxOGIxZWY0MWVjMzYzYzg0ZDU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZGNiNjg5YzA2ZTNjM2E3MWYwOTQ4NjY2MzlmNGZmMWIwNWU1MWZkOWNjZmM2
|
14
|
+
MjE0ODNmZjg2YTNkM2VkNDBiNmViODc3OGExMjdlMmVkZTZlYzdhMzJmMmI1
|
15
|
+
OGMyOTFmODJhNTdlNmRlOTA5NmMyYmM2OTU2ZTVkZDMyZTkwMjQ=
|
data/bin/timestamp
CHANGED
@@ -4,10 +4,17 @@
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'json'
|
6
6
|
require 'optparse'
|
7
|
+
require 'digest/md5'
|
7
8
|
|
8
|
-
VERSION = "1.
|
9
|
+
VERSION = "1.6"
|
10
|
+
|
11
|
+
def collectFileMtime dir, option
|
12
|
+
exclude_ext = option[:exclude_ext]
|
13
|
+
exclude_dir = option[:exclude_dir]
|
14
|
+
include_ext = option[:include_ext]
|
15
|
+
md5 = option[:md5]
|
16
|
+
formatter = option[:time_format]
|
9
17
|
|
10
|
-
def collectFileMtime dir, exclude_ext, exclude_dir, include_ext
|
11
18
|
# debugger
|
12
19
|
map = {}
|
13
20
|
full_dir = File.expand_path dir
|
@@ -17,7 +24,7 @@ def collectFileMtime dir, exclude_ext, exclude_dir, include_ext
|
|
17
24
|
if File.directory? file
|
18
25
|
unless exclude_dir.to_s.include? file
|
19
26
|
pwd = Dir.pwd
|
20
|
-
submap = collectFileMtime file,
|
27
|
+
submap = collectFileMtime file, option
|
21
28
|
is_empty = false unless submap.nil? or submap.empty?
|
22
29
|
unless submap.nil?
|
23
30
|
map[file] = submap
|
@@ -28,7 +35,12 @@ def collectFileMtime dir, exclude_ext, exclude_dir, include_ext
|
|
28
35
|
ext = File.extname file
|
29
36
|
if include_ext.length == 0 or include_ext.to_s.include?(ext)
|
30
37
|
unless exclude_ext.to_s.include? ext
|
31
|
-
|
38
|
+
mtime = File.mtime file
|
39
|
+
if md5 > 0
|
40
|
+
map[file] = Digest::MD5.hexdigest(mtime.to_s)[0...md5];
|
41
|
+
else
|
42
|
+
map[file] = mtime.strftime formatter
|
43
|
+
end
|
32
44
|
is_empty = false
|
33
45
|
end
|
34
46
|
end
|
@@ -43,7 +55,9 @@ option = {
|
|
43
55
|
:template => "#output#",
|
44
56
|
:exclude_ext => [".DS_Store", ".swp"],
|
45
57
|
:include_ext => [],
|
46
|
-
:exclude_dir => [".","..",".svn",".git"]
|
58
|
+
:exclude_dir => [".","..",".svn",".git"],
|
59
|
+
:md5 => 0,
|
60
|
+
:time_format => "%Y%m%d%H%M%S"
|
47
61
|
}
|
48
62
|
|
49
63
|
begin
|
@@ -59,6 +73,8 @@ timestamp [dir] 按目录树结构输出指定目录下的所有指定类型文
|
|
59
73
|
opts.on("--exclude-ext x,y,z", Array, "要排除的文件扩展名") { |exclude_ext| option[:exclude_ext].concat exclude_ext }
|
60
74
|
opts.on("--exclude-dir x,y,z", Array, "要排除的目录,默认--exclude-dir .svn,.git") { |exclude_dir| option[:exclude_dir].concat exclude_dir }
|
61
75
|
opts.on("--seajs", "使用默认的seajs模板"){option[:template] = ";define('timestamp', function(require, exports, module) {\n module.exports =#output#\n});" }
|
76
|
+
opts.on("--md5 <length>", "MD5 checksum代替时间戳"){ |length| option[:md5] = length.to_i }
|
77
|
+
opts.on("--time_format <format>", '时间戳的格式化字符串,默认为%Y%m%d%H%M%S'){ |format| option[:time_format] = format }
|
62
78
|
opts.on("--version", "显示版本"){option[:version] = true}
|
63
79
|
|
64
80
|
end.parse!
|
@@ -66,7 +82,7 @@ timestamp [dir] 按目录树结构输出指定目录下的所有指定类型文
|
|
66
82
|
if option[:version]
|
67
83
|
puts VERSION
|
68
84
|
else
|
69
|
-
tree = collectFileMtime(ARGV[0] || ".", option
|
85
|
+
tree = collectFileMtime(ARGV[0] || ".", option.clone)
|
70
86
|
|
71
87
|
if option[:pretty]
|
72
88
|
output = JSON.pretty_generate(tree)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: file-timestamp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zhong Xingdou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ! " 按目录树输出包含文件最后修改时间的JSON\n output timestamp of directory for web
|
14
14
|
front-end developer\n"
|