Sha256: 2db59f378ed1e9b3c0d7dd4bfd1d243b60cee1e2ecdf7d98b862303624e5c3ad

Contents?: true

Size: 934 Bytes

Versions: 1

Compression:

Stored size: 934 Bytes

Contents

module HealthDataStandards
  module Export
    module TemplateHelper
      attr_accessor :template_format

      def template_root
        File.join(File.dirname(__FILE__), '..', '..', '..', 'templates')
      end

      def template(template_name)
        File.read(File.join(template_root, "#{template_name}.#{self.template_format}.erb"))
      end

      def partial(partial_name)
        template("_#{partial_name}")
      end

      def render(params)
        erb = nil
        if params[:template]
          erb = template(params[:template])
        elsif params[:partial]
          erb = partial(params[:partial])
        end
        locals = params[:locals]
        locals ||= {}
        rendering_context = RenderingContext.new(locals)
        rendering_context.template_format = self.template_format
        eruby = Erubis::EscapedEruby.new(erb)
        eruby.result(rendering_context.my_binding)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
health-data-standards-0.7.1 lib/health-data-standards/export/template_helper.rb