Sha256: 0c50803e5176514031aba119211f7d212c02ce6edabd47eca29f4fe704ee566c
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
require 'tmpdir' require 'fileutils' class TraceTree class << self def tmp Dir.tmpdir end end class TmpFile DefaultName = 'trace_tree.html' def initialize path, transcode: false path = recognize_dir path @tmp = custom path @transcode = transcode end def puts *content content = content.map{ |c| c.to_s.encode('UTF-8', invalid: :replace, undef: :replace, replace: '?') } if @transcode File.open @tmp, 'a' do |f| f.puts *content end end def path @tmp end private def recognize_dir path case path when true DefaultName when String path.split '/' else path end end def custom path path = Array(path).map(&:to_s) path[-1] = time + path[-1] path = [Dir.tmpdir] + path ensure_parent path File.join *path end def time Time.now.strftime '%Y%m%d_%H%M%S_%L_' end def ensure_parent path_arr dir = path_arr[0..-2] FileUtils.mkdir_p File.join *dir end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trace_tree-0.2.23 | lib/trace_tree/tmp_file.rb |
trace_tree-0.2.22 | lib/trace_tree/tmp_file.rb |