Sha256: b36c6a9b3d8c6c2e77a8877dff69cd997e79317d2a66b08052b22f2c2c077d31
Contents?: true
Size: 846 Bytes
Versions: 1
Compression:
Stored size: 846 Bytes
Contents
require "file_tree/version" require "file_tree/defaults" require "file_tree/content_generator" require "tmpdir" module FileTree extend self def self.with_context_dir(dir, &block) dir_stack.push(dir) yield dir if block_given? dir ensure dir_stack.pop end def self.dir_stack Thread.current[:file_tree_dir_stack] ||= [] end def root_dir(&block) dir = Dir.mktmpdir FileTree.with_context_dir(dir, &block) end def dir(name, &block) dir = File.join(FileTree.dir_stack[-1], name) Dir.mkdir(dir) FileTree.with_context_dir(dir, &block) end def file(name, content = Defaults.content_type) content = ContentGenerator.create(content) unless content.is_a?(String) path = File.join(FileTree.dir_stack[-1], name) File.open(path, "wb"){|stream| stream << content} path end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
file_tree-0.1.0 | lib/file_tree.rb |