class Temill::Emitters::DirectoryEmitter
Public Class Methods
new(dir_path, options)
click to toggle source
Calls superclass method
Temill::Emitters::Base::new
# File lib/temill/emitter.rb, line 74 def initialize(dir_path, options) @dir_path = Pathname.new(dir_path) super(options) end
Public Instance Methods
execute(source_files)
click to toggle source
# File lib/temill/emitter.rb, line 79 def execute(source_files) FileUtils.makedirs(@dir_path) written = [] source_files.each{| sf | fname = output_fname(sf.path, written) File.open(fname, 'w'){| f | emit_for_source_file(sf, f) written << fname } } nil end
output_fname(base_fname, written)
click to toggle source
# File lib/temill/emitter.rb, line 92 def output_fname(base_fname, written) fname_base = (@dir_path + File.basename(base_fname)).to_s current_fname = fname_base suffix_n = 1 while written.include?(current_fname) current_fname = fname_base + ".#{suffix_n}" suffix_n += 1 end current_fname end