15 lines
		
	
	
		
			464 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			15 lines
		
	
	
		
			464 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | class ChefNodeNameBuilder | ||
|  |   def initialize(server_info, project, env) | ||
|  |     @server_info, @project, @env = server_info, project, env | ||
|  |     @mask = server_info['tags']['cid:node-name-mask'] || '$project-$nodename-$env' | ||
|  |   end | ||
|  | 
 | ||
|  |   def build_node_name | ||
|  |     @mask.gsub!('$project', @project.id) | ||
|  |     @mask.gsub!('$env', @env.identifier) | ||
|  |     @mask.gsub!('$nodename', @server_info['id']) | ||
|  |     @mask.gsub!('$time', Time.now.to_i.to_s) | ||
|  |     @mask.gsub!('_', '-') | ||
|  |     @mask | ||
|  |   end | ||
|  | end |