class Hookit::Resource::Template
Public Class Methods
new(name)
click to toggle source
Calls superclass method
Hookit::Resource::Base::new
# File lib/hookit/resource/template.rb, line 21 def initialize(name) path name unless path source "#{::File.basename(name)}.erb" super end
Public Instance Methods
run(action)
click to toggle source
# File lib/hookit/resource/template.rb, line 27 def run(action) case action when :create create! chown! chmod! when :create_if_missing create_if_missing! chown! chmod! when :delete delete! when :touch touch! end end
Protected Instance Methods
chmod!()
click to toggle source
# File lib/hookit/resource/template.rb, line 65 def chmod! ::File.chmod(mode, path) if mode end
chown!()
click to toggle source
# File lib/hookit/resource/template.rb, line 60 def chown! return unless owner or group `chown #{(group.nil?) ? owner : "#{owner}:#{group}"} #{path}` end
create!()
click to toggle source
# File lib/hookit/resource/template.rb, line 46 def create! ::File.write path, render end
create_if_missing!()
click to toggle source
# File lib/hookit/resource/template.rb, line 50 def create_if_missing! if not ::File.exists? path create! end end
delete!()
click to toggle source
# File lib/hookit/resource/template.rb, line 56 def delete! ::File.delete path end
module_root()
click to toggle source
# File lib/hookit/resource/template.rb, line 81 def module_root dict[:module_root] end
render()
click to toggle source
# File lib/hookit/resource/template.rb, line 73 def render Tilt.new("#{template_dir}/#{source}").render(self, variables) end
template_dir()
click to toggle source
# File lib/hookit/resource/template.rb, line 77 def template_dir "#{module_root}/templates" end
touch!()
click to toggle source
# File lib/hookit/resource/template.rb, line 69 def touch! `touch -c #{path}` end