nub 0.0.60 → 0.0.65

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nub/fileutils.rb +41 -27
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e93be4cfe9723de6906362477f61055ee38368002c7df4c4385934bf44d26316
4
- data.tar.gz: eba15a1db0455f1b09390fab9c4e0600a029954945e70455af584a8f825c9f87
3
+ metadata.gz: d8a6bc1396062829fa734eaf735c935e6a7cda5cecf90c72dbdc5d65f482110f
4
+ data.tar.gz: 27ef79fa291579d0e27472e3bf093255af62d5d5aa1be8b54fb08700fe32201e
5
5
  SHA512:
6
- metadata.gz: e8fc6b5cb8e1e4d1a5f7c9f31a464c3b09eaac6a43fc946515ffb9f6296e6745e855682e99616881f227bf39fae053770a46cfc03065e5308f828952c2159587
7
- data.tar.gz: 9ba29c5dc676eee5be89a96e10b26337f6a3f7eac5a46de09a0d020e655c3336533805ae468f8142bce33e796ac4f5174dcdb0b089afe22579e095cec160cd43
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 files [String/Array] files to increment version for
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 true on change
49
- def self.inc_version(files, regex, major:false, minor:false, rev:true, override:nil)
50
- changed = nil
51
- files = [files] if files.is_a?(String)
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
- # Modify the original line
70
- line.gsub!(ver, new_ver)
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 changed
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.60
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-10 00:00:00.000000000 Z
11
+ date: 2018-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize