Sha256: 26736b1eebe0058112918c00fad0213bdf54c826c2da8a268d8b820fb6618bb1
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true # Mokey-patches for Action View 6+ module Jb # A monkey-patch that converts non-partial result to a JSON String module TemplateRenderer module JSONizer def render_template(_view, template, *) rendered_template = super rendered_template.instance_variable_set :@body, MultiJson.dump(rendered_template.body) if template.respond_to?(:handler) && (template.handler == Jb::Handler) rendered_template end end end # A monkey-patch for jb template collection result's `body` not to return a String but an Array module PartialRendererExtension private def render_collection(_view, template) obj = super if template.respond_to?(:handler) && (template.handler == Jb::Handler) if ActionView::AbstractRenderer::RenderedCollection::EmptyCollection === obj def obj.body; []; end else def obj.body; @rendered_templates.map(&:body); end end end obj end end end ::ActionView::TemplateRenderer.prepend ::Jb::TemplateRenderer::JSONizer ::ActionView::PartialRenderer.prepend ::Jb::PartialRendererExtension
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jb-0.7.1 | lib/jb/action_view_monkeys.rb |
jb-0.7.0 | lib/jb/action_view_monkeys.rb |