Sha256: 179c2ad754c87b728dffccfcd8db5473d532e08a5bcfa00ba3b827bcddfb6515
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true require "erb" module Backup class Template # Holds a binding object. Nil if not provided. attr_accessor :binding ## # Creates a new instance of the Backup::Template class and optionally takes # an argument that can be either a binding object, a Hash or nil def initialize(object = nil) @binding = if object.is_a?(Binding) object elsif object.is_a?(Hash) Backup::Binder.new(object).get_binding end end ## # Renders the provided file (in the context of the binding if any) to the # console def render(file) puts result(file) end ## # Returns a String object containing the contents of the file (in the # context of the binding if any) def result(file) ERB.new(file_contents(file), nil, "<>").result(binding) end private ## # Reads and returns the contents of the provided file path, # relative from the Backup::TEMPLATE_PATH def file_contents(file) File.read(File.join(Backup::TEMPLATE_PATH, file)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
backupii-0.1.0.pre.alpha.2 | lib/backup/template.rb |
backupii-0.1.0.pre.alpha.1 | lib/backup/template.rb |