lib/vagrant-invade/action/create.rb in vagrant-invade-0.3.3 vs lib/vagrant-invade/action/create.rb in vagrant-invade-0.3.4

- old
+ new

@@ -12,39 +12,40 @@ @logger = Log4r::Logger.new('vagrant::invade::action::create') end def call(env) - # Get project root and default vagrantfile filename + # Get project root where vagrant is running from + # Since it is possible to set it through the environment we need to validate it root_path = Dir.pwd ENV['VAGRANT_VAGRANTFILE'] ? vagrantfile_name = ENV['VAGRANT_VAGRANTFILE'] : vagrantfile_name = "Vagrantfile" # Get generated Vagrantfile from environment if @env[:invade]['vagrantfile'] - generated_vagrantfile = @env[:invade]['vagrantfile'] + generated_vagrantfile_data = @env[:invade]['vagrantfile'] else raise "[Invade]: No generated data found. Can't build Vagrantfile." end - # Write new Vagrantfile if checksum is not equal and auto mode is enabled - unless check_md5_checksum(@env[:ui], root_path, vagrantfile_name, generated_vagrantfile) + # Write new Vagrantfile if checksum is not equal + unless check_md5_checksum(@env[:ui], root_path, vagrantfile_name, generated_vagrantfile_data) @env[:invade_build_force] ? - write_vagrantfile(@env[:ui], root_path, generated_vagrantfile, vagrantfile_name, true) : - write_vagrantfile(@env[:ui], root_path, generated_vagrantfile, vagrantfile_name, false) + write_vagrantfile(@env[:ui], root_path, generated_vagrantfile_data, vagrantfile_name, true) : + write_vagrantfile(@env[:ui], root_path, generated_vagrantfile_data, vagrantfile_name, false) end @app.call(env) end private # Compare md5 strings to replace Vagrantfile - def check_md5_checksum(ui, root_path, vagrantfile_name, generated_vagrantfile) + def check_md5_checksum(ui, root_path, vagrantfile_name, generated_vagrantfile_data) require 'digest' - md5_new = Digest::MD5.hexdigest(generated_vagrantfile) + md5_new = Digest::MD5.hexdigest(generated_vagrantfile_data) if File.exists?("#{root_path}/#{vagrantfile_name}") md5_current = Digest::MD5.file("#{root_path}/#{vagrantfile_name}").hexdigest else md5_current = 0 @@ -54,13 +55,14 @@ unless md5_check ui.warn "[Invade] Checksum not equal!" ui.warn "[Invade] Current : '#{md5_current}'" ui.warn "[Invade] Generated : '#{md5_new}'" + return false end - ui.success "[Invade] Vagrantfile is still valid. No need to rebuild. Or use --force." + ui.success "[Invade] Vagrantfile is still valid. Use '--f' to force replacing it." true end def reload(ui)