From 4c16791f355c74f8e6ad916e67fd4ae81efbf708 Mon Sep 17 00:00:00 2001
From: Santiago Pastorino <santiago@wyeworks.com>
Date: Tue, 13 Mar 2012 16:21:41 -0300
Subject: Add ActionController::HTTP

More info http://edgeguides.rubyonrails.org/api_app.html

[Carlos Antonio da Silva & Santiago Pastorino]
---
 .../config/initializers/wrap_parameters.rb.tt      |  2 +-
 .../application/initializers/frameworks_test.rb    | 27 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

(limited to 'railties')

diff --git a/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt
index 4356f14282..19cbf0e4f1 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt
@@ -5,7 +5,7 @@
 
 # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
 ActiveSupport.on_load(:action_controller) do
-  wrap_parameters format: [:json]
+  wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
 end
 
 <%- unless options.skip_active_record? -%>
diff --git a/railties/test/application/initializers/frameworks_test.rb b/railties/test/application/initializers/frameworks_test.rb
index a08e5b2374..cb321f0dd4 100644
--- a/railties/test/application/initializers/frameworks_test.rb
+++ b/railties/test/application/initializers/frameworks_test.rb
@@ -130,6 +130,33 @@ module ApplicationTests
       assert_equal "false", last_response.body
     end
 
+    test "action_controller http initializes successfully" do
+      app_file "app/controllers/application_controller.rb", <<-RUBY
+        class ApplicationController < ActionController::HTTP
+        end
+      RUBY
+
+      app_file "app/controllers/omg_controller.rb", <<-RUBY
+        class OmgController < ApplicationController
+          def show
+            render :json => { :omg => 'omg' }
+          end
+        end
+      RUBY
+
+      app_file "config/routes.rb", <<-RUBY
+        AppTemplate::Application.routes.draw do
+          match "/:controller(/:action)"
+        end
+      RUBY
+
+      require 'rack/test'
+      extend Rack::Test::Methods
+
+      get '/omg/show'
+      assert_equal '{"omg":"omg"}', last_response.body
+    end
+
     # AD
     test "action_dispatch extensions are applied to ActionDispatch" do
       add_to_config "config.action_dispatch.tld_length = 2"
-- 
cgit v1.2.3