Merge pull request #35408 from rails/template-has-one-variant

Template has one variant
This commit is contained in:
Aaron Patterson 2019-02-25 15:11:12 -08:00 committed by GitHub
commit a92e5eb4ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 13 deletions

View File

@ -22,11 +22,11 @@ module ActionView
# to ensure that references to the template object can be marshalled as well. This means forgoing
# the marshalling of the compiler mutex and instantiating that again on unmarshalling.
def marshal_dump # :nodoc:
[ @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variants ]
[ @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variant ]
end
def marshal_load(array) # :nodoc:
@identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variants = *array
@identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variant = *array
@compile_mutex = Mutex.new
end
end

View File

@ -122,12 +122,12 @@ module ActionView
extend Template::Handlers
attr_accessor :locals, :variants, :virtual_path
attr_accessor :locals, :virtual_path
attr_reader :source, :identifier, :handler, :original_encoding, :updated_at
attr_reader :variable, :format
attr_reader :variable, :format, :variant
def initialize(source, identifier, handler, format: nil, **details)
def initialize(source, identifier, handler, format: nil, variant: nil, **details)
unless format
ActiveSupport::Deprecation.warn "ActionView::Template#initialize requires a format parameter"
format = :html
@ -149,15 +149,14 @@ module ActionView
@updated_at = details[:updated_at] || Time.now
@format = format
@variants = [details[:variant]]
@variant = variant
@compile_mutex = Mutex.new
end
def formats=(_)
end
deprecate :formats=
deprecate def formats=(_); end
deprecate def formats; Array(format); end
deprecate def variants=(_); end
deprecate def variants; [variant]; end
# Returns whether the underlying handler supports streaming. If so,
# a streaming buffer *may* be passed when it starts rendering.
@ -262,11 +261,11 @@ module ActionView
# to ensure that references to the template object can be marshalled as well. This means forgoing
# the marshalling of the compiler mutex and instantiating that again on unmarshalling.
def marshal_dump # :nodoc:
[ @source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variants ]
[ @source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variant ]
end
def marshal_load(array) # :nodoc:
@source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variants = *array
@source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @format, @variant = *array
@compile_mutex = Mutex.new
end

View File

@ -196,7 +196,6 @@ module ActionView
cached = nil
templates.each do |t|
t.locals = locals
t.variants = details[:variants] || [] if t.variants.empty?
t.virtual_path ||= (cached ||= build_path(*path_info))
end
end