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