Sha256: 6e1aaee9d9585a3eb412e1572cdd182c7b6a01026750f792e8393fc528d2f053

Contents?: true

Size: 737 Bytes

Versions: 6

Compression:

Stored size: 737 Bytes

Contents

require 'pathname'
require 'sanford/logger'

module Sanford

  class TemplateEngine

    attr_reader :source_path, :logger, :opts

    def initialize(opts = nil)
      @opts = opts || {}
      @source_path = Pathname.new(@opts['source_path'].to_s)
      @logger = @opts['logger'] || Sanford::NullLogger.new
    end

    def render(path, service_handler, locals)
      raise NotImplementedError
    end

  end

  class NullTemplateEngine < TemplateEngine

    def render(path, service_handler, locals)
      template_file = self.source_path.join(path).to_s
      unless File.exists?(template_file)
        raise ArgumentError, "template file `#{template_file}` does not exist"
      end
      File.read(template_file)
    end

  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sanford-0.16.0 lib/sanford/template_engine.rb
sanford-0.15.1 lib/sanford/template_engine.rb
sanford-0.15.0 lib/sanford/template_engine.rb
sanford-0.14.0 lib/sanford/template_engine.rb
sanford-0.13.0 lib/sanford/template_engine.rb
sanford-0.12.0 lib/sanford/template_engine.rb