19 lines
		
	
	
		
			377 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			377 B
		
	
	
	
		
			Ruby
		
	
	
	
| # encoding: utf-8 
 | |
| 
 | |
| namespace :items do
 | |
|   task :tree_changes => :environment do
 | |
|   	Item.all.each do |item|
 | |
|   		item.position -= 1
 | |
|   		item.parent_ids = ancestors(item)
 | |
|   		item.rename(:full_name, :path)
 | |
|   		item.save
 | |
|   	end
 | |
|   end
 | |
| 
 | |
|   def ancestors(item)
 | |
|     node, nodes = item, []
 | |
|     nodes << node = node.parent while !node.parent.blank? rescue nil
 | |
|     nodes.reverse
 | |
|   end
 | |
| 
 | |
| end |