Module: SimpleJson::Migratable

Extended by:
ActiveSupport::Concern
Defined in:
lib/simple_json/migratable.rb

Overview

The module for migration from jbuilder to simple json. Using this will render view twice, and may cause http response headers change.

DO NOT INCLUDE THIS IN PRODUCTION!

class XXXController < ActionController::Base
  include SimpleJson::SimpleJsonRenderable
  include SimpleJson::Migratable

  ...
end

Defined Under Namespace

Classes: DifferentViewOutput

Instance Method Summary collapse

Instance Method Details

#render_json_template(template_name, **options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/simple_json/migratable.rb', line 20

def render_json_template(template_name, **options)
  fix_current_time do
    json = simple_renderer.render(template_name)
    result = SimpleJson.json_module.encode(json)
    result_super = render_to_body(options.merge({ skip_simple_json: true }))

    raise DifferentViewOutput if result != result_super

    result
  end
end

#simple_rendererObject



32
33
34
35
36
# File 'lib/simple_json/migratable.rb', line 32

def simple_renderer
  @simple_renderer ||= SimpleJsonRendererForMigration.new(self).tap do |r|
    r.extend(_helpers) if respond_to?(:_helpers)
  end
end