Sha256: 34034b5e79b1d30bc1f667c2d5ee58c4ac691f54b3742fef24902dbe01c659c7

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

module PoolParty    
  module Resources
        
    class File < Resource
      
      def after_create
        run_render = dsl_options.include?(:render_as) ? dsl_options.delete(:render_as) : false
        
        if dsl_options.include?(:template)          
          filename = ::File.expand_path(dsl_options.template)
          dsl_options.delete(:template)
          file = ::File.basename( filename )
          raise TemplateNotFound.new("no template given") unless file

          template_opts = (parent ? options.merge(parent.options) : options)
          options.merge!(:content => run_render ? Template.compile_file(filename, template_opts.merge(:renderer => run_render)).gsub("\"", "\"") : open(filename).read)
        end
        
        if dsl_options.include?(:content)
          cont = dsl_options.delete(:content)
          template_opts = (parent ? options.merge(parent.options) : options).merge(:renderer => run_render)
          options.merge!(:content => run_render ? Template.compile_string(cont, template_opts) : cont)
        end
      end
      
    end
    
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
auser-poolparty-1.1.3 lib/poolparty/resources/file.rb
auser-poolparty-1.1.4 lib/poolparty/resources/file.rb
auser-poolparty-1.1.5 lib/poolparty/resources/file.rb
fairchild-poolparty-1.1.3 lib/poolparty/resources/file.rb
fairchild-poolparty-1.1.4 lib/poolparty/resources/file.rb