| 
									
										
										
										
											2016-10-09 19:44:24 -04:00
										 |  |  | require "set" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-10 10:48:04 -04:00
										 |  |  | module Metafiles | 
					
						
							| 
									
										
										
										
											2015-01-13 21:22:12 +08:00
										 |  |  |   # https://github.com/github/markup#markups | 
					
						
							| 
									
										
										
										
											2016-10-10 10:45:48 -04:00
										 |  |  |   EXTENSIONS = Set.new %w[
 | 
					
						
							| 
									
										
										
										
											2015-01-13 21:22:12 +08:00
										 |  |  |     .adoc .asc .asciidoc .creole .html .markdown .md .mdown .mediawiki .mkdn | 
					
						
							|  |  |  |     .org .pod .rdoc .rst .rtf .textile .txt .wiki | 
					
						
							| 
									
										
										
										
											2016-10-10 10:45:48 -04:00
										 |  |  |   ].freeze | 
					
						
							|  |  |  |   BASENAMES = Set.new %w[
 | 
					
						
							| 
									
										
										
										
											2014-06-07 17:45:13 -05:00
										 |  |  |     about authors changelog changes copying copyright history license licence | 
					
						
							|  |  |  |     news notes notice readme todo | 
					
						
							| 
									
										
										
										
											2016-10-10 10:45:48 -04:00
										 |  |  |   ].freeze | 
					
						
							| 
									
										
										
										
											2012-09-09 13:19:53 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-10 10:48:04 -04:00
										 |  |  |   module_function | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def list?(file) | 
					
						
							| 
									
										
										
										
											2014-06-07 17:49:07 -05:00
										 |  |  |     return false if %w[.DS_Store INSTALL_RECEIPT.json].include?(file) | 
					
						
							| 
									
										
										
										
											2014-06-07 17:47:45 -05:00
										 |  |  |     !copy?(file) | 
					
						
							| 
									
										
										
										
											2012-09-09 13:19:53 -07:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-10 10:48:04 -04:00
										 |  |  |   def copy?(file) | 
					
						
							| 
									
										
										
										
											2014-06-07 23:40:26 -05:00
										 |  |  |     file = file.downcase | 
					
						
							|  |  |  |     ext  = File.extname(file) | 
					
						
							|  |  |  |     file = File.basename(file, ext) if EXTENSIONS.include?(ext) | 
					
						
							|  |  |  |     BASENAMES.include?(file) | 
					
						
							| 
									
										
										
										
											2014-06-07 17:45:13 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-09-09 13:19:53 -07:00
										 |  |  | end |