Sha256: 6a95b2d5e01f9d19a21b292bf5f7bcb40d73e1e33df1edd2b84553c2d5a2806d
Contents?: true
Size: 954 Bytes
Versions: 20
Compression:
Stored size: 954 Bytes
Contents
module Templater module Actions class Directory < File def identical? sanity = ::File.directory?(destination) && exists? if sanity src = Dir[::File.join(source, "**", "*")] src.map! {|f| f.gsub(/#{source}/, "")} dest = Dir[::File.join(destination, "**", "*")] dest.map! {|f| f.gsub(/#{destination}/, "")} src == dest else false end end end end end module Templater module Actions class File < Action # Renders the template and copies it to the destination. def invoke! callback(:before) ::FileUtils.mkdir_p(::File.dirname(destination)) ::FileUtils.rm_rf(destination) ::FileUtils.cp_r(source, destination) callback(:after) end # removes the destination file def revoke! ::FileUtils.rm_r(destination, :force => true) end end end end
Version data entries
20 entries across 20 versions & 1 rubygems