module Modernize
Nested
Definitions
def self.template_path_for(path)
Compute the template root path relative to the gem root.
Implementation
def self.template_path_for(path)
TEMPLATE_ROOT + path
end
def self.stale?(source_path, destination_path)
Check if the destination path is stale compared to the source path.
Implementation
def self.stale?(source_path, destination_path)
if File.exist?(destination_path)
return !FileUtils.identical?(source_path, destination_path)
end
return true
end
def self.copy_template(source_path, destination_path)
Copy files from the source path to the destination path.
Signature
-
parameter
source_path
String
The source path.
-
parameter
destination_path
String
The destination path.
Implementation
def self.copy_template(source_path, destination_path)
glob = Build::Files::Glob.new(source_path, "**/*")
glob.each do |path|
full_path = File.join(destination_path, path.relative_path)
if File.directory?(path)
unless File.directory?(full_path)
FileUtils.mkdir_p(full_path)
end
else
if stale?(path, full_path)
FileUtils::Verbose.cp(path, full_path)
end
end
end
end