diff options
-rw-r--r-- | railties/lib/rails/application/configuration.rb | 14 | ||||
-rw-r--r-- | railties/test/application/configuration_test.rb | 25 |
2 files changed, 37 insertions, 2 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb index 071677848e..a5550df0de 100644 --- a/railties/lib/rails/application/configuration.rb +++ b/railties/lib/rails/application/configuration.rb @@ -16,7 +16,7 @@ module Rails :railties_order, :relative_url_root, :secret_key_base, :secret_token, :ssl_options, :public_file_server, :session_options, :time_zone, :reload_classes_only_on_change, - :beginning_of_week, :filter_redirect, :debug_exception_response_format, :x + :beginning_of_week, :filter_redirect, :x attr_writer :log_level attr_reader :encoding, :api_only, :static_cache_control @@ -52,7 +52,7 @@ module Rails @secret_token = nil @secret_key_base = nil @api_only = false - @debug_exception_response_format = :default + @debug_exception_response_format = nil @x = Custom.new end @@ -96,6 +96,16 @@ module Rails def api_only=(value) @api_only = value generators.api_only = value + + @debug_exception_response_format ||= :api + end + + def debug_exception_response_format + @debug_exception_response_format || :default + end + + def debug_exception_response_format=(value) + @debug_exception_response_format = value end def paths diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index bb45018a86..49f63d5d31 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -1408,5 +1408,30 @@ module ApplicationTests Rails.application.load_generators assert Rails.configuration.api_only end + + test "debug_exception_response_format is :api by default if only_api is enabled" do + add_to_config <<-RUBY + config.api_only = true + RUBY + app 'development' + + assert_equal :api, Rails.configuration.debug_exception_response_format + end + + test "debug_exception_response_format can be override" do + add_to_config <<-RUBY + config.api_only = true + RUBY + + app_file 'config/environments/development.rb', <<-RUBY + Rails.application.configure do + config.debug_exception_response_format = :default + end + RUBY + + app 'development' + + assert_equal :default, Rails.configuration.debug_exception_response_format + end end end |