Sha256: 4a71d44ec179f0361b59f1651e3c5f6e50e4b8c1df38f8822d8ceb5c5682cda8
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module Capistrano module Template module Helpers class Renderer < SimpleDelegator attr_accessor :from, :reader, :locals def initialize(from, context, reader: File, locals: {}) super context self.from = from self.reader = reader self.locals = locals end def locals=(new_locals) new_locals ||= {} new_locals = new_locals.each_with_object({}) { |(key, value), result| result[key.to_sym] = value } @locals = new_locals end def as_str @rendered_template ||= ERB.new(template_content, nil, '-').result(binding) end def as_io StringIO.new(as_str) end def method_missing(m, *args, &block) if locals.key?(m) locals[m] else super end end def respond_to_missing?(m, include_private) if locals.key?(m) true else super end end protected def template_content reader.read(from) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capistrano-template-0.0.7 | lib/capistrano/template/helpers/renderer.rb |
capistrano-template-0.0.5 | lib/capistrano/template/helpers/renderer.rb |