Module: Templates
- Defined in:
- lib/templates.rb
Class Method Summary collapse
- .copy_template_parsed_erbs(template, dir, scope) ⇒ Object
- .copy_template_verbatim_files(template, dir) ⇒ Object
- .create(template, dir, scope) ⇒ Object
- .create_template_dirs(template, dir) ⇒ Object
Class Method Details
.copy_template_parsed_erbs(template, dir, scope) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# 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) ⇒ Object
19 20 21 22 23 24 25 |
# 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) ⇒ Object
5 6 7 8 9 |
# 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) ⇒ Object
11 12 13 14 15 16 17 |
# 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 |