Sha256: a362c5e92421cffdc12cbd0ba99afb683edfa37e047fcf2689a7c6b01d318b40

Contents?: true

Size: 951 Bytes

Versions: 2

Compression:

Stored size: 951 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

2 entries across 2 versions & 1 rubygems

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