class Grape::Builder::Renderer

Attributes

template[R]
view_path[R]

Public Class Methods

new(view_path, template) click to toggle source
# File lib/grape/builder/renderer.rb, line 4
def initialize(view_path, template)
  @view_path, @template = view_path, template
end

Public Instance Methods

render(scope, locals = {}) click to toggle source
# File lib/grape/builder/renderer.rb, line 8
def render(scope, locals = {})
  unless view_path
    raise "Use Rack::Config to set 'api.tilt.root' in config.ru"
  end

  scope.extend Grape::Builder::Scope
  scope.partial = Grape::Builder::Partial.new(view_path, scope)

  engine = ::Tilt.new file, nil, view_path: view_path
  engine.render scope, locals
end

Private Instance Methods

file() click to toggle source
# File lib/grape/builder/renderer.rb, line 24
def file
  File.join view_path, template_with_extension
end
template_with_extension() click to toggle source
# File lib/grape/builder/renderer.rb, line 28
def template_with_extension
  template[/\.builder$/] ? template : "#{template}.builder"
end