lib/autowow/features/gem.rb in autowow-0.9.5 vs lib/autowow/features/gem.rb in autowow-0.9.6
- old
+ new
@@ -17,11 +17,11 @@
logger.error("Not on master.") and return unless start_branch.eql?("master")
pretty.run(pull)
if version
pretty_with_output.run(bump(version))
- update_readme_version_information(version)
+ bump_readme_version_information(version)
pretty.run(add(["README.md", "*version.rb"]))
pretty.run(commit("Bumps version to v#{version}"))
end
pretty.run(push)
@@ -30,10 +30,15 @@
pretty.run(pull)
pretty.run(rebase(start_branch))
pretty_with_output.run(release)
end
+ if version && change_readme_version_information_to_development(version)
+ pretty.run(add(["README.md"]))
+ pretty.run(commit("Changes README to development version"))
+ end
+
pretty_with_output.run(git_status)
end
def gem_clean
pretty_with_output.run(clean)
@@ -53,31 +58,59 @@
def bundle_exec(cmd)
Autowow::Executor.pretty_with_output.run(["bundle", "exec"] + cmd)
end
- def update_readme_version_information(version)
+ def bump_readme_version_information(version)
readme = File.new("README.md")
- if File.file?(readme)
- text = File.read(readme)
- matches = text.match(/<!--- Version informartion -->(.+)<!--- Version informartion end -->/m)
- return if matches.length == 0
- version_information = matches[0]
-
- new_version_information = if version_information.include?("development version")
- releases_link = version_information.match(/\[.+\]\(.+\)/)[0].split("(")[1].split("/tag")[0]
- <<-HEREDOC
- <!--- Version informartion -->
- *You are viewing the README of version [v#{version}](#{releases_link}/tag/v#{version}). You can find other releases [here](#{releases_link}).*
- <!--- Version informartion end -->
- HEREDOC
- else
- version_information.gsub(/[0-9]\.[0-9]\.[0-9]/, version)
- end
-
- text.gsub!(version_information, new_version_information)
- File.write(readme, text)
+ return unless File.file?(readme)
+ text = File.read(readme)
+ return unless contains_version_information?(text)
+
+ version_information = get_version_information(text)
+
+ new_version_information = if version_information.include?("development version")
+ releases_link = version_information.match(/\[.+\]\(.+\)/)[0].split("(")[1].split("/tag")[0]
+ <<-HEREDOC
+<!--- Version informartion -->
+*You are viewing the README of version [v#{version}](#{releases_link}/tag/v#{version}). You can find other releases [here](#{releases_link}).*
+<!--- Version informartion end -->
+ HEREDOC
+ else
+ version_information.gsub(/[0-9]\.[0-9]\.[0-9]/, version)
end
+
+ text.gsub!(version_information, new_version_information)
+ File.write(readme, text)
+ end
+
+ def change_readme_version_information_to_development(version)
+ readme = File.new("README.md")
+ return false unless File.file?(readme)
+ text = File.read(readme)
+ return false unless contains_version_information?(text)
+ version_information = get_version_information(text)
+ return false if version_information.include?("development version")
+
+ releases_link = version_information.match(/\[.+\]\(.+\)/)[0].split("(")[1].split("/tag")[0]
+
+ new_version_information = <<-HEREDOC
+<!--- Version informartion -->
+*You are viewing the README of the development version. You can find the README of the latest release (v#{version}) [here](#{releases_link}/tag/v#{version}).*
+<!--- Version informartion end -->
+ HEREDOC
+
+ text.gsub!(version_information, new_version_information)
+ File.write(readme, text)
+ true
+ end
+
+ def contains_version_information?(text)
+ text.match(/<!--- Version informartion -->(.+)<!--- Version informartion end -->/m).length > 0
+ end
+
+ def get_version_information(text)
+ text.match(/<!--- Version informartion -->(.+)<!--- Version informartion end -->/m)[0]
end
include ReflectionUtils::CreateModuleFunctions
end
end