module Templates
Public Class Methods
copy_template_parsed_erbs(template, dir, scope)
click to toggle source
# File lib/templates.rb, line 27 def self.copy_template_parsed_erbs(template, dir, scope) erbs = Dir.glob(__dir__ + "/../templates/#{template}/*", File::FNM_DOTMATCH).select do |path| path =~ /\.erb$/ end erbs.each do |erb| erb_contents = File.read(erb) open("#{dir}/#{erb.sub(/^.*\/templates\/#{template}\//, '').sub(/\.erb$/, '')}", 'w') do |f| f.print ERB.new(erb_contents).result(scope) end end end
copy_template_verbatim_files(template, dir)
click to toggle source
# File lib/templates.rb, line 19 def self.copy_template_verbatim_files(template, dir) Dir.glob(__dir__ + "/../templates/#{template}/**/*", File::FNM_DOTMATCH).reject do |path| path =~ /^\.$|^\.\.$|\.erb$/ || File.directory?(path) end.each do |path| `cp #{path} #{dir}/#{path.sub(/^.*\/templates\/#{template}\//, '')}` end end
create(template, dir, scope)
click to toggle source
# File lib/templates.rb, line 5 def self.create(template, dir, scope) create_template_dirs(template, dir) copy_template_verbatim_files(template, dir) copy_template_parsed_erbs(template, dir, scope) end
create_template_dirs(template, dir)
click to toggle source
# File lib/templates.rb, line 11 def self.create_template_dirs(template, dir) Dir.glob(__dir__ + "/../templates/#{template}/**/*", File::FNM_DOTMATCH).select do |path| File.directory?(path) end.each do |path| FileUtils.mkdir_p "#{dir}/#{path.sub(/^.*\/templates\/#{template}\//, '')}" end end