Class: SFRP::Output::Set
- Inherits:
-
Object
- Object
- SFRP::Output::Set
- Defined in:
- lib/sfrp/output/set.rb
Instance Attribute Summary collapse
-
#virtual_files ⇒ Object
readonly
Returns the value of attribute virtual_files.
Instance Method Summary collapse
- #create_file(relative_position, file_ext, content) ⇒ Object
- #generate!(output_dir_path, other_virtual_files = []) ⇒ Object
-
#initialize(&block) ⇒ Set
constructor
A new instance of Set.
Constructor Details
#initialize(&block) ⇒ Set
Returns a new instance of Set.
9 10 11 12 |
# File 'lib/sfrp/output/set.rb', line 9 def initialize(&block) @virtual_files = [] block.call(self) if block end |
Instance Attribute Details
#virtual_files ⇒ Object (readonly)
Returns the value of attribute virtual_files.
7 8 9 |
# File 'lib/sfrp/output/set.rb', line 7 def virtual_files @virtual_files end |
Instance Method Details
#create_file(relative_position, file_ext, content) ⇒ Object
28 29 30 |
# 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 = []) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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 |