提交 6c57177f 编写于 作者: J José Valim

Remove deprecation warnings from Action Pack.

上级 cae1768c
......@@ -22,31 +22,7 @@ class ShowExceptions
"application's log file and/or the web server's log file to find out what " <<
"went wrong.</body></html>"]]
class << self
def rescue_responses
ActiveSupport::Deprecation.warn "ActionDispatch::ShowExceptions.rescue_responses is deprecated. " \
"Please configure your exceptions using a railtie or in your application config instead."
ExceptionWrapper.rescue_responses
end
def rescue_templates
ActiveSupport::Deprecation.warn "ActionDispatch::ShowExceptions.rescue_templates is deprecated. " \
"Please configure your exceptions using a railtie or in your application config instead."
ExceptionWrapper.rescue_templates
end
end
def initialize(app, exceptions_app = nil)
if [true, false].include?(exceptions_app)
ActiveSupport::Deprecation.warn "Passing consider_all_requests_local option to ActionDispatch::ShowExceptions middleware no longer works"
exceptions_app = nil
end
if exceptions_app.nil?
raise ArgumentError, "You need to pass an exceptions_app when initializing ActionDispatch::ShowExceptions. " \
"In case you want to render pages from a public path, you can use ActionDispatch::PublicExceptions.new('path/to/public')"
end
def initialize(app, exceptions_app)
@app = app
@exceptions_app = exceptions_app
end
......
......@@ -97,16 +97,7 @@ def redirect(*args, &block)
} if String === path
block = path if path.respond_to? :call
# :FIXME: remove in Rails 4.0
if block && block.respond_to?(:arity) && block.arity < 2
msg = "redirect blocks with arity of #{block.arity} are deprecated. Your block must take 2 parameters: the environment, and a request object"
ActiveSupport::Deprecation.warn msg
block = lambda { |params, _| block.call(params) }
end
raise ArgumentError, "redirection argument not supported" unless block
Redirect.new status, block
end
end
......
ActiveSupport::Deprecation.warn "ActionView::Helpers::AssetPaths is deprecated. Please use ActionView::AssetPaths instead."
module ActionView
module Helpers
AssetPaths = ::ActionView::AssetPaths
end
end
\ No newline at end of file
......@@ -151,14 +151,8 @@ def detail_args_for(options)
# as well as incorrectly putting part of the path in the template
# name instead of the prefix.
def normalize_name(name, prefixes) #:nodoc:
name = name.to_s.sub(handlers_regexp) do |match|
ActiveSupport::Deprecation.warn "Passing a template handler in the template name is deprecated. " \
"You can simply remove the handler name or pass render :handlers => [:#{match[1..-1]}] instead.", caller
""
end
prefixes = nil if prefixes.blank?
parts = name.split('/')
parts = name.to_s.split('/')
name = parts.pop
return name, prefixes || [""] if parts.empty?
......@@ -168,10 +162,6 @@ def normalize_name(name, prefixes) #:nodoc:
return name, prefixes
end
def handlers_regexp #:nodoc:
@@handlers_regexp ||= /\.(?:#{default_handlers.join('|')})$/
end
end
include Accessors
......
......@@ -22,18 +22,6 @@ def extract_details(options)
details
end
def extract_format(value, details)
if value.is_a?(String) && value.sub!(formats_regexp, "")
ActiveSupport::Deprecation.warn "Passing the format in the template name is deprecated. " \
"Please pass render with :formats => [:#{$1}] instead.", caller
details[:formats] ||= [$1.to_sym]
end
end
def formats_regexp
@@formats_regexp ||= /\.(#{Mime::SET.symbols.join('|')})$/
end
def instrument(name, options={})
ActiveSupport::Notifications.instrument("render_#{name}.action_view", options){ yield }
end
......
......@@ -300,7 +300,6 @@ def setup(context, options, block)
"and is followed by any combinations of letters, numbers, or underscores.")
end
extract_format(@path, @details)
self
end
......@@ -369,13 +368,7 @@ def partial_path(object = @object)
path = if object.respond_to?(:to_partial_path)
object.to_partial_path
else
klass = object.class
if klass.respond_to?(:model_name)
ActiveSupport::Deprecation.warn "ActiveModel-compatible objects whose classes return a #model_name that responds to #partial_path are deprecated. Please respond to #to_partial_path directly instead."
klass.model_name.partial_path
else
raise ArgumentError.new("'#{object.inspect}' is not an ActiveModel-compatible object that returns a valid partial path.")
end
raise ArgumentError.new("'#{object.inspect}' is not an ActiveModel-compatible object. It must implement :to_partial_path.")
end
@partial_names[path] ||= merge_prefix_into_object_path(@context_prefix, path.dup)
......
......@@ -6,7 +6,6 @@ class TemplateRenderer < AbstractRenderer #:nodoc:
def render(context, options)
@view = context
@details = extract_details(options)
extract_format(options[:file] || options[:template], @details)
template = determine_template(options)
freeze_formats(template.formats, true)
render_template(template, options[:layout], options[:locals])
......
......@@ -43,7 +43,7 @@ def hello_world
end
def hello_world_file
render :file => File.expand_path("../../fixtures/hello.html", __FILE__)
render :file => File.expand_path("../../fixtures/hello", __FILE__), :formats => [:html]
end
def conditional_hello
......@@ -810,9 +810,7 @@ def test_render_file_with_instance_variables
end
def test_render_file
assert_deprecated do
get :hello_world_file
end
get :hello_world_file
assert_equal "Hello world!", @response.body
end
......
......@@ -146,7 +146,7 @@ def test_render_partial_with_incompatible_object
@view.render(:partial => nil)
flunk "Render did not raise ArgumentError"
rescue ArgumentError => e
assert_equal "'#{nil.inspect}' is not an ActiveModel-compatible object that returns a valid partial path.", e.message
assert_equal "'#{nil.inspect}' is not an ActiveModel-compatible object. It must implement :to_partial_path.", e.message
end
def test_render_partial_with_errors
......@@ -243,36 +243,6 @@ def test_render_partial_using_collection
@controller_view.render(customers, :greeting => "Hello")
end
class CustomerWithDeprecatedPartialPath
attr_reader :name
def self.model_name
Struct.new(:partial_path).new("customers/customer")
end
def initialize(name)
@name = name
end
end
def test_render_partial_using_object_with_deprecated_partial_path
assert_deprecated(/#model_name.*#partial_path.*#to_partial_path/) do
assert_equal "Hello: nertzy",
@controller_view.render(CustomerWithDeprecatedPartialPath.new("nertzy"), :greeting => "Hello")
end
end
def test_render_partial_using_collection_with_deprecated_partial_path
assert_deprecated(/#model_name.*#partial_path.*#to_partial_path/) do
customers = [
CustomerWithDeprecatedPartialPath.new("nertzy"),
CustomerWithDeprecatedPartialPath.new("peeja")
]
assert_equal "Hello: nertzyHello: peeja",
@controller_view.render(customers, :greeting => "Hello")
end
end
# TODO: The reason for this test is unclear, improve documentation
def test_render_partial_and_fallback_to_layout
assert_equal "Before (Josh)\n\nAfter", @view.render(:partial => "test/layout_for_partial", :locals => { :name => "Josh" })
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册