class Rewinder::Snapshotter
Public Instance Methods
create_video()
click to toggle source
# File lib/rewinder.rb, line 5 def create_video gem_root = Gem::Specification.find_by_name("rewinder").gem_dir Dir.chdir("./") g = Git.open('./') g.checkout(g.branch('master')) g.branch('rewinder').checkout g.log(10).to_a.reverse.each_with_index do |l, i| g.checkout(l.sha) puts l.sha puts `bundle install` bundle = `bundle install` puts "bundle #{bundle}" `rake db:reset RAILS_ENV=production` `rake db:migrate RAILS_ENV=production` system "rails server &" sleep 8 `phantomjs #{gem_root}/lib/rasterize.js 'http://localhost:3000/' ~/.rewinder/homescreen#{(i+1).to_s.rjust(6, '0')}.png` puts "Killing server" puts system 'kill -9 `cat tmp/pids/server.pid`' puts "Hard resetting" g.reset_hard(l) end g.checkout(g.branch('master')) g.branch('rewinder').delete `ffmpeg -f image2 -r 0.5 -i ~/.rewinder/homescreen%06d.png -s 1440x900 -vcodec libx264 -pix_fmt yuv420p ./rewinder.mp4` `rm -rf ~/.rewinder` end