diff --git a/lib/spree/api/controller_setup.rb b/lib/spree/api/controller_setup.rb new file mode 100644 index 0000000000..e26c300342 --- /dev/null +++ b/lib/spree/api/controller_setup.rb @@ -0,0 +1,33 @@ +require 'spree/api/responders' + +module Spree + module Api + module ControllerSetup + def self.included(klass) + klass.class_eval do + include AbstractController::Rendering + include AbstractController::ViewPaths + include AbstractController::Callbacks + include AbstractController::Helpers + + include ActiveSupport::Rescuable + + include ActionController::Rendering + include ActionController::ImplicitRender + include ActionController::Rescue + include ActionController::MimeResponds + include ActionController::Head + + include CanCan::ControllerAdditions + include Spree::Core::ControllerHelpers::Auth + + prepend_view_path Rails.root + "app/views" + append_view_path File.expand_path("../../../app/views", File.dirname(__FILE__)) + + self.responder = Spree::Api::Responders::AppResponder + respond_to :json + end + end + end + end +end