Class: Natsuzora::Renderer
- Inherits:
-
Object
- Object
- Natsuzora::Renderer
- Defined in:
- lib/natsuzora/renderer.rb
Constant Summary collapse
- MAX_RENDER_DEPTH =
1024- MAX_OUTPUT_BYTES =
50 MB
50 * 1024 * 1024
Instance Method Summary collapse
-
#initialize(ast, template_loader: nil) ⇒ Renderer
constructor
A new instance of Renderer.
- #render(data) ⇒ Object
Constructor Details
#initialize(ast, template_loader: nil) ⇒ Renderer
Returns a new instance of Renderer.
8 9 10 11 |
# File 'lib/natsuzora/renderer.rb', line 8 def initialize(ast, template_loader: nil) @ast = ast @template_loader = template_loader end |
Instance Method Details
#render(data) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/natsuzora/renderer.rb', line 13 def render(data) @context = Context.new(data) @depth = 0 output = render_nodes(@ast.nodes) raise RenderError, "output exceeded #{MAX_OUTPUT_BYTES} bytes" if output.bytesize > MAX_OUTPUT_BYTES output end |