mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Deprecate Template#refresh
This commit is contained in:
parent
db1830a7ec
commit
151cac65f1
2 changed files with 4 additions and 36 deletions
|
@ -165,6 +165,7 @@ module ActionView
|
|||
deprecate def formats; Array(format); end
|
||||
deprecate def variants=(_); end
|
||||
deprecate def variants; [variant]; end
|
||||
deprecate def refresh(_); self; end
|
||||
|
||||
# Returns whether the underlying handler supports streaming. If so,
|
||||
# a streaming buffer *may* be passed when it starts rendering.
|
||||
|
@ -191,25 +192,6 @@ module ActionView
|
|||
@type ||= Types[format]
|
||||
end
|
||||
|
||||
# Receives a view object and return a template similar to self by using @virtual_path.
|
||||
#
|
||||
# This method is useful if you have a template object but it does not contain its source
|
||||
# anymore since it was already compiled. In such cases, all you need to do is to call
|
||||
# refresh passing in the view object.
|
||||
#
|
||||
# Notice this method raises an error if the template to be refreshed does not have a
|
||||
# virtual path set (true just for inline templates).
|
||||
def refresh(view)
|
||||
raise "A template needs to have a virtual path in order to be refreshed" unless @virtual_path
|
||||
lookup = view.lookup_context
|
||||
pieces = @virtual_path.split("/")
|
||||
name = pieces.pop
|
||||
partial = !!name.sub!(/^_/, "")
|
||||
lookup.disable_cache do
|
||||
lookup.find_template(name, [ pieces.join("/") ], partial, @locals)
|
||||
end
|
||||
end
|
||||
|
||||
def short_identifier
|
||||
@short_identifier ||= defined?(Rails.root) ? identifier.sub("#{Rails.root}/", "") : identifier
|
||||
end
|
||||
|
|
|
@ -121,24 +121,10 @@ class TestERBTemplate < ActiveSupport::TestCase
|
|||
assert_equal "hellopartialhello", render
|
||||
end
|
||||
|
||||
def test_refresh_with_templates
|
||||
def test_refresh_is_deprecated
|
||||
@template = new_template("Hello", virtual_path: "test/foo/bar", locals: [:key])
|
||||
assert_called_with(@context.lookup_context, :find_template, ["bar", %w(test/foo), false, [:key]], returns: "template") do
|
||||
assert_equal "template", @template.refresh(@context)
|
||||
end
|
||||
end
|
||||
|
||||
def test_refresh_with_partials
|
||||
@template = new_template("Hello", virtual_path: "test/_foo", locals: [:key])
|
||||
assert_called_with(@context.lookup_context, :find_template, ["foo", %w(test), true, [:key]], returns: "partial") do
|
||||
assert_equal "partial", @template.refresh(@context)
|
||||
end
|
||||
end
|
||||
|
||||
def test_refresh_raises_an_error_without_virtual_path
|
||||
@template = new_template("Hello", virtual_path: nil)
|
||||
assert_raise RuntimeError do
|
||||
@template.refresh(@context)
|
||||
assert_deprecated do
|
||||
assert_same @template, @template.refresh(@context)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue