module Onsi::Controller
Helper methods for rendering API responses.
@example
class PersonController < ActionController::API include Onsi::Controller render_version(:v1) def show person = Person.find(params[:id]) render_resource(person) end end
Public Instance Methods
render_resource(resource, opts = {})
click to toggle source
Render the JSON response.
@param resource [Onsi::Resource, Enumerable, Onsi::Model]
@param opts [Hash] The options hash. If a version is included that will
take presidence over the controller default .render_version - The other keys for opts will be passed directly the #render method.
# File lib/onsi/controller.rb, line 51 def render_resource(resource, opts = {}) metadata = opts.delete(:meta) version = opts.delete(:version) || self.class.render_version || Model::DEFAULT_API_VERSION payload = Resource.render(resource, version) payload[Resource::META_KEY].merge!(metadata) if metadata render_options = {} render_options[:json] = payload render_options.merge!(opts) render(render_options) end