Sha256: 2095d61cc9001ccbfe114c0902883303261e61a1f066cd2bd14bfcec5f57b827

Contents?: true

Size: 640 Bytes

Versions: 2

Compression:

Stored size: 640 Bytes

Contents

require "jbuilder"

class JPbuilderHandler
  cattr_accessor :default_format, :default_callback
  self.default_format = Mime::JSON
  self.default_callback = nil

  def self.call(template)
    %{
      if defined?(json)
        #{template.source}
      else
        result = JbuilderTemplate.encode(self) do |json|
          #{template.source}
        end
        callback = params[:callback] || JPbuilderHandler.default_callback
        if callback.present?
          "\#{callback}(\#{result});"
        else
          result
        end
      end
    }
  end
end

ActionView::Template.register_template_handler :jpbuilder, JPbuilderHandler

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jpbuilder-0.2.2 ./lib/jpbuilder-handler.rb
jpbuilder-0.2.1 /Users/jwebb/src/bigjason/jpbuilder/lib/jpbuilder-handler.rb