35 lines
		
	
	
		
			834 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			834 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module Hbc::Cache
 | |
|   module_function
 | |
| 
 | |
|   def ensure_cache_exists
 | |
|     return if Hbc.cache.exist?
 | |
|     odebug "Creating Cache at #{Hbc.cache}"
 | |
|     Hbc.cache.mkpath
 | |
|   end
 | |
| 
 | |
|   def migrate_legacy_cache
 | |
|     if Hbc.legacy_cache.exist?
 | |
|       ohai "Migrating cached files to #{Hbc.cache}..."
 | |
| 
 | |
|       Hbc.legacy_cache.children.select(&:symlink?).each do |symlink|
 | |
|         file = symlink.readlink
 | |
| 
 | |
|         new_name = file.basename
 | |
|                        .sub(%r{\-((?:(\d|#{Hbc::DSL::Version::DIVIDER_REGEX})*\-\2*)*[^\-]+)$}x,
 | |
|                             '--\1')
 | |
| 
 | |
|         renamed_file = Hbc.cache.join(new_name)
 | |
| 
 | |
|         if file.exist?
 | |
|           puts "#{file} -> #{renamed_file}"
 | |
|           FileUtils.mv(file, renamed_file)
 | |
|         end
 | |
| 
 | |
|         FileUtils.rm(symlink)
 | |
|       end
 | |
| 
 | |
|       FileUtils.remove_entry_secure(Hbc.legacy_cache)
 | |
|     end
 | |
|   end
 | |
| end
 | 
