class NestedFile::PutFile

Attributes

convert_path[RW]
filename[RW]
raw_body[RW]

Public Instance Methods

write_all!(file=nil) click to toggle source
# File lib/nested_file/put_file.rb, line 38
def write_all!(file=nil)
  write_subs!
  write_self!(file)
end
write_self!(file=nil) click to toggle source
# File lib/nested_file/put_file.rb, line 27
def write_self!(file=nil)
  res = raw_body.gsub(/<file (.+?)>(.*?)<\/file>/m) do
    "<file #{$1}>\n</file>"
  end
 
  if file
    file.write res
  else
    File.create filename, res
  end
end
write_subs!() click to toggle source
# File lib/nested_file/put_file.rb, line 19
def write_subs!
  raw_body.scan(/<file (.+?)>(.*?)<\/file>/m) do |m|
    sub_file, sub_body = *m
    #ff = File.expand_path(sub_file,File.dirname(filename))
    full = convert_path.mount_to_parent_if_relative(sub_file)
    FileSection::Write.new(parent_body: sub_body, full_file_to_insert: full).write!
  end
end