class UpgradeChecker
Public Class Methods
get_current_version()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 41 def self.get_current_version path = File.expand_path('../../../', __FILE__) version = File.read("#{path}/VERSION") version.strip version end
new()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 9 def initialize @config = DockerSync::GlobalConfig.load end
Public Instance Methods
check_and_warn()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 55 def check_and_warn return if ENV['DOCKER_SYNC_SKIP_UPGRADE'] if Gem::Version.new(last_upgraded_version) < Gem::Version.new('0.5.6') Thor::Shell::Basic.new.say_status 'warning', "If you are upgrading from 0.5.4 or below, please run `brew update && brew upgrade unison` AND `docker-compose down && docker-sync clean` or `docker-sync-stack clean` since you need to recreate the sync container", :red unless Thor::Shell::Basic.new.yes?('Sync will fail otherwise. Continue? (y/N)') exit 1 end end if Gem::Version.new(last_upgraded_version) < Gem::Version.new('0.5.12') Thor::Shell::Basic.new.say_status 'warning', "0.5.12 uses a newer OCALM 4.08.1 version in the Unison image. If you use the unison strategy, please upgrade your local unison to be compiled against OCALM 4.08.1", :red unless Thor::Shell::Basic.new.yes?('Sync will fail otherwise. Continue? (y/N)') exit 1 end end # update the upgrade_status @config.update! 'upgrade_status' => "#{UpgradeChecker.get_current_version}" end
docker_sync_update_check()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 48 def docker_sync_update_check gem_name = 'docker-sync' current_version = UpgradeChecker.get_current_version checker = GemUpdateChecker::Client.new(gem_name, current_version) return checker end
last_upgraded_version()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 21 def last_upgraded_version @config['upgrade_status'] end
run()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 13 def run return if ENV['DOCKER_SYNC_SKIP_UPGRADE'] unless should_run return end check_and_warn end
should_run()
click to toggle source
# File lib/docker-sync/upgrade_check.rb, line 25 def should_run # get the update_status which is the version of the update hook which has been run already upgrade_status = last_upgraded_version if upgrade_status == '' @config.update! 'upgrade_status' => "#{UpgradeChecker.get_current_version}" return end if Gem::Version.new(upgrade_status) < Gem::Version.new(UpgradeChecker.get_current_version) # thats how we compare the version return true end return false end