class SFRP::Output::Set
Attributes
virtual_files[R]
Public Class Methods
new(&block)
click to toggle source
# File lib/sfrp/output/set.rb, line 9 def initialize(&block) @virtual_files = [] block.call(self) if block end
Public Instance Methods
create_file(relative_position, file_ext, content)
click to toggle source
# File lib/sfrp/output/set.rb, line 28 def create_file(relative_position, file_ext, content) @virtual_files << VirtualFile.new(relative_position, file_ext, content) end
generate!(output_dir_path, other_virtual_files = [])
click to toggle source
# File lib/sfrp/output/set.rb, line 14 def generate!(output_dir_path, other_virtual_files = []) unless File.directory?(output_dir_path) FileUtils.mkdir_p(output_dir_path) end FileUtils.cd(output_dir_path) do (@virtual_files + other_virtual_files).each do |vf| relative_path = vf.fmodule_uri.gsub('.', '/') + '.' + vf.file_ext dirname = File.dirname(relative_path) FileUtils.mkdir_p(dirname) unless File.directory?(dirname) File.open(relative_path, 'w') { |f| f.write(vf.content) } end end end