module Nagare::Controller

Private Instance Methods

_render_with_renderer_json(resource, options) click to toggle source
Calls superclass method
# File lib/nagare/railtie.rb, line 13
def _render_with_renderer_json(resource, options)
  serializers = options.fetch(:serializers, nil)

  if serializers.nil?
    return super(resource, options)
  end

  if resource.respond_to?(:each)
    collection_serializer = serializers.fetch(:collection)
    item_serializer = serializers.fetch(:item)

    serializer = collection_serializer.
      new(resource, nagare_context.extend(options.fetch(:context, {})), serializer: item_serializer)
    adapter = nagare_adapter.new(serializer, collection: true)
  else
    item_serializer = serializers.fetch(:item)

    serializer = item_serializer.new(resource, nagare_context.extend(options.fetch(:context, {})))
    adapter = nagare_adapter.new(serializer, collection: false)
  end

  super(adapter, options)
end
nagare_adapter() click to toggle source
# File lib/nagare/railtie.rb, line 5
def nagare_adapter
  Nagare::Adapter
end
nagare_context() click to toggle source
# File lib/nagare/railtie.rb, line 9
def nagare_context
  @nagare_context ||= Nagare::Context.new
end