Builds a new file.
generator<Object> |
The generator |
name<Symbol> |
The name of this file |
source<String> |
Full path to the source of this file |
destination<String> |
Full path to the destination of this file |
options<Hash{Symbol=>Symbol} |
Options, including callbacks. |
# File lib/templater/actions/file.rb, line 13 def initialize(generator, name, source, destination, options={}) self.generator = generator self.name = name self.source = source self.destination = destination self.options = options end
Checks if the destination file already exists.
Boolean |
true if the file exists, false otherwise. |
# File lib/templater/actions/file.rb, line 33 def exists? ::File.exists?(destination) end
Checks if the content of the file at the destination is identical to the rendered result.
Boolean |
true if it is identical, false otherwise. |
# File lib/templater/actions/file.rb, line 41 def identical? exists? && ::FileUtils.identical?(source, destination) end
Renders the template and copies it to the destination.
# File lib/templater/actions/file.rb, line 46 def invoke! callback(:before) ::FileUtils.mkdir_p(::File.dirname(destination)) ::FileUtils.cp_r(source, destination) callback(:after) end
Generated with the Darkfish Rdoc Generator 2.