rscaffold 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rscaffold/version.rb +2 -2
- data/lib/templates/rakefile.erb +31 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e09fd265320866555d6f4463bff359cd4338c276
|
4
|
+
data.tar.gz: 162d41a4eef50fddb9fdacd52e9bd2000d0a4f80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4564461f80f1df1b1a04588972b8c521d1ba1c012eab147fc564d4111ce9ac4d98c6c27bf87b227450b40fb1330168369127e4bbd3b41a13b1fd31190ffcff0
|
7
|
+
data.tar.gz: 9badf795b69bcf08e03860a56b408d0134da3c8388d1f7fa42282b943171cd40947229538fae0886243ed8ac948b9152313c2bf86547c098012d8ade42108986
|
data/lib/rscaffold/version.rb
CHANGED
data/lib/templates/rakefile.erb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'erb'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
require 'rake/clean'
|
4
|
+
require 'tempfile'
|
4
5
|
load '<%=@name%>.gemspec'
|
5
6
|
|
6
7
|
RSpec::Core::RakeTask.new('spec')
|
@@ -62,6 +63,12 @@ task :install_man => MAN do
|
|
62
63
|
cp MAN, MANDIR
|
63
64
|
end
|
64
65
|
|
66
|
+
['major', 'minor', 'patch'].each do |v|
|
67
|
+
task "bump_#{v}".to_sym do
|
68
|
+
bump v
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
65
72
|
task :push do
|
66
73
|
`git push origin master` #FIXME shell out not cool
|
67
74
|
end
|
@@ -84,3 +91,27 @@ def erbify template, destination
|
|
84
91
|
file.write rendered template
|
85
92
|
end
|
86
93
|
end
|
94
|
+
|
95
|
+
def update file
|
96
|
+
t_file = Tempfile.new("rake_update")
|
97
|
+
File.open(file, 'r') do |f|
|
98
|
+
f.each_line{|l| t_file.puts yield(l) }
|
99
|
+
end
|
100
|
+
t_file.close
|
101
|
+
FileUtils.mv(t_file.path, file)
|
102
|
+
end
|
103
|
+
|
104
|
+
def bump part
|
105
|
+
part = part.upcase
|
106
|
+
zero = ['PATCH', 'MINOR', 'MAJOR'].take_while{|v| v != part}
|
107
|
+
zero = "(#{zero.join('|')})"
|
108
|
+
|
109
|
+
re = {}
|
110
|
+
[part, zero].each{|e| re[e] = /(?<part>^\s*#{e} = )(?<num>[0-9]+)/}
|
111
|
+
|
112
|
+
update "lib/<%=@name%>/version.rb" do |l|
|
113
|
+
l =~ re[part] && l = "#{$~[:part]}#{$~[:num].to_i + 1}"
|
114
|
+
l =~ re[zero] && l = "#{$~[:part]}0"
|
115
|
+
l
|
116
|
+
end
|
117
|
+
end
|