rake-extensions 0.2.0 → 0.3.0

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/rake-extensions.rb +26 -63
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db2a2a929ce970a047f99148c7a1185cb1afa395
4
- data.tar.gz: 848146156c6afa2c0fed7d7a15780bd5bf7f86c8
3
+ metadata.gz: 7a1f693eef67e1e885c2ed765e2d27c4e56ae8f0
4
+ data.tar.gz: f91a5824513b7175561eeb57ac0433a8c5d34ce2
5
5
  SHA512:
6
- metadata.gz: fab6a75ed2ef6fe699c78d24252115d920ec75fcdb7e44f29c9f913adf58d273b37d73462f192b53d12119f317e0c9cd2cb45903b748dd329094cb7133fa694f
7
- data.tar.gz: 5c553235cedeb115760437725dafa96c05776f5b264e579f9ca3cf65cd27cc4cc1ebd7a632db80fee817b2daf024a1b12235ab639b4565ffd67c963f2069a7de
6
+ metadata.gz: fef45ab9426e94b4f3af675c94029ee9efa37be8f7dc4af6badf2e62dafea76b94a349ef62f94ce842727342d04ff5994962ea7d4eec9d11568fbf7991e6dd54
7
+ data.tar.gz: d4027c9ceff62b3db0e5b943cb530d536d0377977a426e6785f6f88b3895d97a2febea9fe1380ac90a7673c6f7089156a92477ae72a90ecd0d0c2c6b417b538a
@@ -67,7 +67,19 @@ class Versioner
67
67
  end
68
68
  end
69
69
 
70
- class TomlVersioner
70
+ def current_version_with_regex(filelist, r)
71
+ current_version = nil
72
+ FileUtils.cd @version_dir, :verbose => false do
73
+ filelist.each do |file|
74
+ text = File.read(file)
75
+ if match = text.match(r)
76
+ current_version = match.captures[1]
77
+ end
78
+ end
79
+ end
80
+ current_version
81
+ end
82
+ class Versioner
71
83
  def initialize(version_dir)
72
84
  @version_dir = version_dir
73
85
  end
@@ -76,60 +88,32 @@ class TomlVersioner
76
88
  v = Version.new(current_version)
77
89
  v.send(jump)
78
90
  end
79
- def get_current_version()
80
- current_version = nil
81
- FileUtils.cd @version_dir, :verbose => false do
82
- ['Cargo.toml'].each do |file|
83
- text = File.read(file)
84
- if match = text.match(/^version\s=\s\"(.*)\"/i)
85
- current_version = match.captures[0]
86
- end
87
- end
88
- end
89
- current_version
90
- end
91
91
  def increment_version(jump)
92
92
  next_version = get_next_version(jump)
93
93
  puts "increment version from #{get_current_version} ==> #{next_version}"
94
94
  update_version(next_version)
95
95
  end
96
+ end
97
+ class TomlVersioner < Versioner
98
+ VERSION_REGEX = /^(version\s=\s['\"])(\d+\.\d+\.\d+)(['\"])/i
99
+ def get_current_version()
100
+ current_version_with_regex(['Cargo.toml'], VERSION_REGEX)
101
+ end
96
102
  def update_version(new_version)
97
103
  FileUtils.cd @version_dir, :verbose => false do
98
104
  ['Cargo.toml'].each do |file|
99
105
  text = File.read(file)
100
- new_contents = text.gsub(/^version\s=\s\"\d+\.\d+\.\d+\"/, "version = \"#{new_version}\"")
106
+ new_contents = text.gsub(VERSION_REGEX, "\\1#{new_version}\\3")
101
107
  File.open(file, "w") { |f| f.puts new_contents }
102
108
  end
103
109
  end
104
110
  end
105
111
  end
106
- class GemspecVersioner
112
+ class GemspecVersioner < Versioner
107
113
  VERSION_REGEX = /^(\s*.*?\.version\s*?=\s*['\"])(.*)(['\"])/i
108
114
  DATE_REGEX = /^(\s*.*?\.date\s*?=\s*['\"])(.*)(['\"])/
109
- def initialize(version_dir)
110
- @version_dir = version_dir
111
- end
112
- def get_next_version(jump)
113
- current_version = get_current_version()
114
- v = Version.new(current_version)
115
- v.send(jump)
116
- end
117
115
  def get_current_version()
118
- current_version = nil
119
- FileUtils.cd @version_dir, :verbose => false do
120
- FileList['*.gemspec'].each do |file|
121
- text = File.read(file)
122
- if match = text.match(VERSION_REGEX)
123
- current_version = match.captures[1]
124
- end
125
- end
126
- end
127
- current_version
128
- end
129
- def increment_version(jump)
130
- next_version = get_next_version(jump)
131
- puts "increment version from #{get_current_version} ==> #{next_version}"
132
- update_version(next_version)
116
+ current_version_with_regex(FileList['*.gemspec'], VERSION_REGEX)
133
117
  end
134
118
  def update_version(new_version)
135
119
  FileUtils.cd @version_dir, :verbose => false do
@@ -143,37 +127,16 @@ class GemspecVersioner
143
127
  end
144
128
  end
145
129
  end
146
- class JsonVersioner
147
- def initialize(version_dir)
148
- @version_dir = version_dir
149
- end
150
- def get_next_version(jump)
151
- current_version = get_current_version()
152
- v = Version.new(current_version)
153
- v.send(jump)
154
- end
130
+ class JsonVersioner < Versioner
131
+ VERSION_REGEX = /^(\s\s['\"]version['\"]:\s['\"])(.*)(['\"])/i
155
132
  def get_current_version()
156
- current_version = nil
157
- FileUtils.cd @version_dir, :verbose => false do
158
- ['package.json'].each do |file|
159
- text = File.read(file)
160
- if match = text.match(/^\s\s\"version\":\s\"(.*)\"/i)
161
- current_version = match.captures[0]
162
- end
163
- end
164
- end
165
- current_version
166
- end
167
- def increment_version(jump)
168
- next_version = get_next_version(jump)
169
- puts "increment version from #{get_current_version} ==> #{next_version}"
170
- update_version(next_version)
133
+ current_version_with_regex(['package.json'], VERSION_REGEX)
171
134
  end
172
135
  def update_version(new_version)
173
136
  FileUtils.cd @version_dir, :verbose => false do
174
137
  ['package.json'].each do |file|
175
138
  text = File.read(file)
176
- new_contents = text.gsub(/^\s\s\"version\":\s\"\d+\.\d+\.\d+\"/, " \"version\": \"#{new_version}\"")
139
+ new_contents = text.gsub(VERSION_REGEX, "\\1#{new_version}\\3")
177
140
  File.open(file, "w") { |f| f.puts new_contents }
178
141
  end
179
142
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Mueller