nub 0.0.60 → 0.0.65
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/lib/nub/fileutils.rb +41 -27
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a6bc1396062829fa734eaf735c935e6a7cda5cecf90c72dbdc5d65f482110f
|
4
|
+
data.tar.gz: 27ef79fa291579d0e27472e3bf093255af62d5d5aa1be8b54fb08700fe32201e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d0f14440f01add99f363f1d5b5dc0ad334fda3be284e74229bdd54a150f9e5e49dc58a4aa411a61aa92ab598c19fa60bb21344610599586cc9804ae762f6187
|
7
|
+
data.tar.gz: fcdf68fe617a5a5cddee5d1687083fdef0795885d35dc48490134ed53e82e3828ef90180c5aee4eac3d9ae09bb8052ea21d3fa769bcd180561eddf0f6e0402b2
|
data/lib/nub/fileutils.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#MIT License
|
2
|
-
#Copyright (c) 2018 phR0ze
|
2
|
+
#Copyright (c) 2017-2018 phR0ze
|
3
3
|
#
|
4
4
|
#Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
#of this software and associated documentation files (the "Software"), to deal
|
@@ -39,40 +39,37 @@ module FileUtils
|
|
39
39
|
end
|
40
40
|
|
41
41
|
# Increment SemVer formatted versions
|
42
|
-
# @param
|
42
|
+
# @param path [String] file to increment version for
|
43
43
|
# @param regex [Regex] capture pattern for version match
|
44
44
|
# @param major [Bool] true then increment the major
|
45
45
|
# @param minor [Bool] true then increment the minor
|
46
46
|
# @param rev [Bool] true then increment the revision
|
47
47
|
# @param override [String] value to use for version if set
|
48
|
-
# @return
|
49
|
-
def self.inc_version(
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
files.each{|filename|
|
54
|
-
changed |= self.update(filename){|line|
|
55
|
-
|
56
|
-
# Increment version
|
57
|
-
if ver = line[regex, 1]
|
58
|
-
new_ver = nil
|
59
|
-
if not override
|
60
|
-
new_ver = ver.strip.split('.')
|
61
|
-
new_ver[0] = new_ver[0].to_i + 1 if major
|
62
|
-
new_ver[1] = new_ver[1].to_i + 1 if minor
|
63
|
-
new_ver[2] = new_ver[2].to_i + 1 if rev
|
64
|
-
new_ver = new_ver * '.'
|
65
|
-
else
|
66
|
-
new_ver = override
|
67
|
-
end
|
48
|
+
# @return new version
|
49
|
+
def self.inc_version(path, regex, major:false, minor:false, rev:true, override:nil)
|
50
|
+
version = nil
|
51
|
+
self.update(path){|line|
|
68
52
|
|
69
|
-
|
70
|
-
|
53
|
+
# Increment version
|
54
|
+
if ver = line[regex, 1]
|
55
|
+
new_ver = nil
|
56
|
+
if not override
|
57
|
+
new_ver = ver.strip.split('.')
|
58
|
+
new_ver[0] = new_ver[0].to_i + 1 if major
|
59
|
+
new_ver[1] = new_ver[1].to_i + 1 if minor
|
60
|
+
new_ver[2] = new_ver[2].to_i + 1 if rev
|
61
|
+
new_ver = new_ver * '.'
|
62
|
+
else
|
63
|
+
new_ver = override
|
71
64
|
end
|
72
|
-
|
65
|
+
|
66
|
+
# Modify the original line
|
67
|
+
version = new_ver
|
68
|
+
line.gsub!(ver, new_ver)
|
69
|
+
end
|
73
70
|
}
|
74
71
|
|
75
|
-
return
|
72
|
+
return version
|
76
73
|
end
|
77
74
|
|
78
75
|
# Update the file using a block, revert on failure.
|
@@ -113,8 +110,11 @@ module FileUtils
|
|
113
110
|
# @param year [String] year to add if needed
|
114
111
|
# @return true on change
|
115
112
|
def self.update_copyright(path, copyright, year:Time.now.year)
|
113
|
+
set_copyright = false
|
114
|
+
|
116
115
|
changed = self.update(path){|line|
|
117
|
-
if line =~ /#{Regexp.quote(copyright)}/
|
116
|
+
if !set_copyright && line =~ /#{Regexp.quote(copyright)}/
|
117
|
+
set_copyright = true
|
118
118
|
_year = line[/#{Regexp.quote(copyright)}\s+((\d{4}\s)|(\d{4}-\d{4})).*/, 1].strip
|
119
119
|
if _year.include?("-")
|
120
120
|
years = _year.split("-")
|
@@ -127,6 +127,20 @@ module FileUtils
|
|
127
127
|
return changed
|
128
128
|
end
|
129
129
|
|
130
|
+
# Get SemVer formatted versions
|
131
|
+
# @param path [String] file to increment version for
|
132
|
+
# @param regex [Regex] capture pattern for version match
|
133
|
+
# @return version
|
134
|
+
def self.version(path, regex)
|
135
|
+
if File.file?(path)
|
136
|
+
File.readlines(path).each{|line|
|
137
|
+
if ver = line[regex, 1]
|
138
|
+
return ver
|
139
|
+
end
|
140
|
+
}
|
141
|
+
end
|
142
|
+
return nil
|
143
|
+
end
|
130
144
|
end
|
131
145
|
|
132
146
|
# vim: ft=ruby:ts=2:sw=2:sts=2
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.65
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Crummett
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|