Sha256: a40aaacb9053f30e1dfbd45ea913150205781ae486a7fcd773e9ce54e3c8e741
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
module ActsAsApi # A custom Rails responder class to automatically use render_for_api in your # controller actions. # # Example: # # class UsersController < ApplicationController # # Set this controller to use our custom responder # # (This could be done in a base controller class, if desired) # self.responder = ActsAsApi::Responder # # respond_to :json, :xml # # def index # @users = User.all # respond_with @users, :api_template => :name_only # end # end # # The `:api_template` parameter is required so the responder knows which api template it should render. class Responder < ActionController::Responder # Should be specified as an option to the `respond_with` call attr_reader :api_template # Grabs the required :api_template parameter, then hands control back to # the base ActionController::Responder initializer. def initialize(controller, resources, options={}) @api_template = options.delete(:api_template) super(controller, resources, options) end # Overrides the base implementation of respond, replacing it with # the render_for_api method. def respond controller.render_for_api api_template, options.merge!(format => resource) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acts_as_api-0.3.6 | lib/acts_as_api/responder.rb |