Method: ContentData::ContentData#to_file_old
- Defined in:
- lib/content_data/content_data.rb
#to_file_old(filename) ⇒ Object
Deprecated.
DEPRECATED: Old deprecated from/to file methods still needed for migration purposes Write content data to file. Write is using chunks (for both content chunks and instances chunks) Chunk is used to maximize GC affect. The temporary memory of each chunk is GCed. Without the chunks used in a dipper stack level, GC keeps the temporary objects as part of the stack context.
399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 |
# File 'lib/content_data/content_data.rb', line 399 def to_file_old(filename) content_data_dir = File.dirname(filename) FileUtils.makedirs(content_data_dir) unless File.directory?(content_data_dir) File.open(filename, 'w') { |file| # Write contents file.write("#{@contents_info.length}\n") contents_enum = @contents_info.each_key content_chunks = @contents_info.length / CHUNK_SIZE + 1 chunks_counter = 0 while chunks_counter < content_chunks to_old_file_contents_chunk(file,contents_enum, CHUNK_SIZE) GC.start chunks_counter += 1 end # Write instances file.write("#{@instances_info.length}\n") contents_enum = @contents_info.each_key chunks_counter = 0 while chunks_counter < content_chunks to_old_file_instances_chunk(file,contents_enum, CHUNK_SIZE) GC.start chunks_counter += 1 end # Write symlinks symlinks_info_enum = @symlinks_info.each_key file.write("#{@symlinks_info.length}\n") loop { symlink_key = symlinks_info_enum.next rescue break file.write("#{symlink_key[0]},#{symlink_key[1]},#{@symlinks_info[symlink_key]}\n") } } end |