diff --git a/lib/jpbuilder-handler.rb b/lib/jpbuilder-handler.rb old mode 100644 new mode 100755 index 60bfc57..7de2f76 --- a/lib/jpbuilder-handler.rb +++ b/lib/jpbuilder-handler.rb @@ -2,16 +2,20 @@ class JPbuilderHandler cattr_accessor :default_format, :default_callback - self.default_format = Mime[:json] - self.default_callback = nil + + def initialize + self.default_callback = nil + self.default_format = (Rails.version < '6.0.0') ? Mime[:json] : :json + end - def self.call(template) + def self.call(template, source=nil) + source =|| template.source %{ if defined?(json) - #{template.source} + #{source} else result = JbuilderTemplate.encode(self) do |json| - #{template.source} + #{source} end result = result.each_char.to_a.map { |chr| chr.ord > 1000 ? "\\\\u\#{"%4.4x" % chr.ord}" : chr }.join callback = params[:callback] || JPbuilderHandler.default_callback