def copy_files
select_template_directories(true).each do |file|
dir = relative(file)
files = Dir["#{file.empty? ? "." : file}/*"].reject { |f| File.directory?(f) }
next if files.empty?
templates, to_copy = files.partition { |file| File.read(file) =~ /<%.*%>/ }
[to_copy, templates].each do |paths|
paths.map! { |f| relative(f, dir) }
end
to_copy.each do |filename|
m.file(
file_name(dir, filename),
file_name(interpolate_path(dir), filename)
)
end
templates.each do |filename|
m.template(
file_name(dir, filename),
file_name(interpolate_path(dir), interpolate_path(filename))
)
end
end
end