class Deploy::Repository
Public Instance Methods
index_modified?()
click to toggle source
# File lib/deploy/repository.rb, line 6 def index_modified? ! system('git diff-index --cached --quiet HEAD --ignore-submodules --') end
prepare!(tag)
click to toggle source
# File lib/deploy/repository.rb, line 10 def prepare!(tag) fail "No tag given" unless tag @tag = tag sync! unless tag_exists? end
Private Instance Methods
commit!()
click to toggle source
# File lib/deploy/repository.rb, line 36 def commit! puts "Committing version.txt..." unless system('git add public/version.txt') && system("git commit -m \"#{commit_message}\" ") fail "Failed to commit." end end
commit_message()
click to toggle source
# File lib/deploy/repository.rb, line 61 def commit_message @commit_message ||= "#{last_commit_message} - deploy" end
last_commit_message()
click to toggle source
# File lib/deploy/repository.rb, line 65 def last_commit_message @last_commit_message ||= `git log --pretty=%B -1`.chomp('') end
push!()
click to toggle source
# File lib/deploy/repository.rb, line 50 def push! puts "Pushing changes to origin..." unless system('git push origin HEAD') && system('git push origin --tags') fail "Failed to git push." end end
sync!()
click to toggle source
# File lib/deploy/repository.rb, line 24 def sync! version! commit! tag! push! end
tag!()
click to toggle source
# File lib/deploy/repository.rb, line 43 def tag! puts "Tagging #{@tag} as new version..." unless system("git tag -a #{@tag} -m \"#{tag_message}\" ") fail "Failed to tag" end end
tag_exists?()
click to toggle source
# File lib/deploy/repository.rb, line 18 def tag_exists? Open3.popen3("git rev-parse #{@tag}") { |_input, _output, error, _thread| error.read.chomp }.empty? end
tag_message()
click to toggle source
# File lib/deploy/repository.rb, line 57 def tag_message "Deployed #{@tag}" end
version!()
click to toggle source
# File lib/deploy/repository.rb, line 31 def version! FileUtils.mkdir_p 'public' File.open('public/version.txt', 'w') { |file| file.puts(@tag) } end