class JSONAPI::Rails::Railtie
@private
Constants
- MEDIA_TYPE
- PARSER
- RENDERERS
Private Instance Methods
register_mime_type()
click to toggle source
# File lib/jsonapi/rails/railtie.rb, line 34 def register_mime_type Mime::Type.register(MEDIA_TYPE, :jsonapi) end
register_parameter_parser()
click to toggle source
# File lib/jsonapi/rails/railtie.rb, line 38 def register_parameter_parser if ::Rails::VERSION::MAJOR >= 5 ActionDispatch::Request.parameter_parsers[:jsonapi] = PARSER else ActionDispatch::ParamsParser::DEFAULT_PARSERS[Mime[:jsonapi]] = PARSER end end
register_renderers()
click to toggle source
rubocop:disable Metrics/MethodLength
# File lib/jsonapi/rails/railtie.rb, line 47 def register_renderers ActiveSupport.on_load(:action_controller) do RENDERERS.each do |name, renderer| ::ActionController::Renderers.add(name) do |resources, options| # Renderer proc is evaluated in the controller context. self.content_type ||= Mime[:jsonapi] ActiveSupport::Notifications.instrument('render.jsonapi-rails', resources: resources, options: options) do renderer.render(resources, options, self).to_json end end end end end