Method: Template.write

Defined in:
lib/template.rb

.write(src_filename, dest_filepath, _binding, overwrite = false) ⇒ Object

テンプレートを元にファイルを作成

src_filename 読み込みたいテンプレートファイル名(.erb は省略する) dest_filepath 保存先ファイルパス。ディレクトリならファイル名はsrcと同じ名前で保存する_binding 変数とか設定したいスコープの binding 変数を渡すoverwrite 上書きするか



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/template.rb', line 22

def self.write(src_filename, dest_filepath, _binding, overwrite = false)
  if File.directory?(dest_filepath)
    dest_filepath = File.join(dest_filepath, src_filename)
  end
  unless overwrite
    return if File.exist?(dest_filepath)
  end
  result = get(src_filename, _binding) or return nil
  if Helper.os_windows?
    File.write(dest_filepath, result)
  else
    File.binwrite(dest_filepath, result.lstrip)
  end
end