Sha256: 2905b94d0ef7749a6d34602cb7e857bea2f5465648dcb7b5bbbd71ab79556860
Contents?: true
Size: 958 Bytes
Versions: 3
Compression:
Stored size: 958 Bytes
Contents
module Terraspace::Compiler class Writer include Basename include Terraspace::Util def initialize(mod, options={}) @mod, @options = mod, options @src_path = options[:src_path] @dest_name = options[:dest_name] # override generated name end def dest_path name = @dest_name || @src_path.sub('.rb','.tf.json') name = basename(name) "#{dest_dir}/#{name}" end def dest_dir if @mod.is_a?(Terraspace::Mod::Remote) File.dirname(@src_path) # for Mod::Remote src is dest else @mod.cache_build_dir end end def write(content) FileUtils.mkdir_p(File.dirname(dest_path)) if content.respond_to?(:path) # IO filehandle FileUtils.cp(content.path, dest_path) # preserves permission else # just content IO.write(dest_path, content) end logger.debug "Created #{Terraspace::Util.pretty_path(dest_path)}" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
terraspace-0.1.2 | lib/terraspace/compiler/writer.rb |
terraspace-0.1.1 | lib/terraspace/compiler/writer.rb |
terraspace-0.1.0 | lib/terraspace/compiler/writer.rb |