class Chef::Provider::Deploy::Revision
Public Instance Methods
action_deploy()
click to toggle source
Calls superclass method
Chef::Provider::Deploy#action_deploy
# File lib/chef/provider/deploy/revision.rb, line 35 def action_deploy validate_release_history! super end
all_releases()
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 31 def all_releases sorted_releases end
cleanup!()
click to toggle source
Calls superclass method
Chef::Provider::Deploy#cleanup!
# File lib/chef/provider/deploy/revision.rb, line 40 def cleanup! super known_releases = sorted_releases Dir["#{new_resource.deploy_to}/releases/*"].each do |release_dir| unless known_releases.include?(release_dir) converge_by("Remove unknown release in #{release_dir}") do FileUtils.rm_rf(release_dir) end end end end
Protected Instance Methods
release_created(release)
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 56 def release_created(release) sorted_releases {|r| r.delete(release); r << release } end
release_deleted(release)
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 60 def release_deleted(release) sorted_releases { |r| r.delete(release)} end
release_slug()
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 64 def release_slug scm_provider.revision_slug end
Private Instance Methods
load_cache()
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 91 def load_cache begin Chef::JSONCompat.from_json(Chef::FileCache.load("revision-deploys/#{new_resource.name}")) rescue Chef::Exceptions::FileNotFound sorted_releases_from_filesystem end end
save_cache(cache)
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 99 def save_cache(cache) Chef::FileCache.store("revision-deploys/#{new_resource.name}", cache.to_json) cache end
sorted_releases() { |cache| ... }
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 70 def sorted_releases cache = load_cache if block_given? yield cache save_cache(cache) end cache end
sorted_releases_from_filesystem()
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 87 def sorted_releases_from_filesystem Dir.glob(new_resource.deploy_to + "/releases/*").sort_by { |d| ::File.ctime(d) } end
validate_release_history!()
click to toggle source
# File lib/chef/provider/deploy/revision.rb, line 79 def validate_release_history! sorted_releases do |release_list| release_list.each do |path| release_list.delete(path) unless ::File.exist?(path) end end end