| 
									
										
										
										
											2020-10-10 14:16:11 +02:00
										 |  |  | # typed: true | 
					
						
							| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-17 18:42:42 +02:00
										 |  |  | # Helper module for installing default files. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # @api private | 
					
						
							| 
									
										
										
										
											2013-10-06 22:04:46 +01:00
										 |  |  | module InstallRenamed | 
					
						
							| 
									
										
										
										
											2015-03-23 21:03:55 -04:00
										 |  |  |   def install_p(_, new_basename) | 
					
						
							| 
									
										
										
										
											2013-10-06 22:04:46 +01:00
										 |  |  |     super do |src, dst| | 
					
						
							| 
									
										
										
										
											2015-03-26 22:22:45 -04:00
										 |  |  |       if src.directory? | 
					
						
							| 
									
										
										
										
											2016-03-07 15:11:00 +00:00
										 |  |  |         dst.install(src.children) | 
					
						
							|  |  |  |         next | 
					
						
							| 
									
										
										
										
											2015-03-26 22:22:45 -04:00
										 |  |  |       else | 
					
						
							|  |  |  |         append_default_if_different(src, dst) | 
					
						
							| 
									
										
										
										
											2014-08-25 10:28:40 +01:00
										 |  |  |       end | 
					
						
							| 
									
										
										
										
											2013-10-06 22:04:46 +01:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |   def cp_path_sub(pattern, replacement) | 
					
						
							| 
									
										
										
										
											2013-10-05 20:29:02 +01:00
										 |  |  |     super do |src, dst| | 
					
						
							|  |  |  |       append_default_if_different(src, dst) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 20:12:58 +01:00
										 |  |  |   def +(other) | 
					
						
							|  |  |  |     super(other).extend(InstallRenamed) | 
					
						
							| 
									
										
										
										
											2014-08-25 10:28:40 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 20:12:58 +01:00
										 |  |  |   def /(other) | 
					
						
							|  |  |  |     super(other).extend(InstallRenamed) | 
					
						
							| 
									
										
										
										
											2014-08-25 10:28:40 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-06 22:04:46 +01:00
										 |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-26 22:22:45 -04:00
										 |  |  |   def append_default_if_different(src, dst) | 
					
						
							|  |  |  |     if dst.file? && !FileUtils.identical?(src, dst) | 
					
						
							|  |  |  |       Pathname.new("#{dst}.default") | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |       dst | 
					
						
							| 
									
										
										
										
											2013-10-06 22:04:46 +01:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |