mirror of https://github.com/rails/rails
Remove unused code in ActionView.
Signed-off-by: Yehuda Katz <wycats@gmail.com>
This commit is contained in:
parent
52aeb8d2e7
commit
befec8a0d8
|
@ -31,15 +31,12 @@ module ActionView
|
|||
autoload :Base, 'action_view/base'
|
||||
autoload :Context, 'action_view/context'
|
||||
autoload :Helpers, 'action_view/helpers'
|
||||
autoload :InlineTemplate, 'action_view/template/inline'
|
||||
autoload :MissingTemplate, 'action_view/base'
|
||||
autoload :Partials, 'action_view/render/partials'
|
||||
autoload :Resolver, 'action_view/template/resolver'
|
||||
autoload :PathResolver, 'action_view/template/resolver'
|
||||
autoload :PathSet, 'action_view/paths'
|
||||
autoload :Rendering, 'action_view/render/rendering'
|
||||
autoload :Renderable, 'action_view/template/renderable'
|
||||
autoload :RenderablePartial, 'action_view/template/partial'
|
||||
autoload :Template, 'action_view/template/template'
|
||||
autoload :TemplateError, 'action_view/template/error'
|
||||
autoload :TemplateHandler, 'action_view/template/handler'
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
module ActionView #:nodoc:
|
||||
class InlineTemplate #:nodoc:
|
||||
include Renderable
|
||||
|
||||
attr_reader :source, :extension, :method_segment
|
||||
|
||||
def initialize(source, type = nil)
|
||||
@source = source
|
||||
@extension = type
|
||||
@method_segment = "inline_#{@source.hash.abs}"
|
||||
end
|
||||
|
||||
private
|
||||
# Always recompile inline templates
|
||||
def recompile?
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,18 +0,0 @@
|
|||
module ActionView
|
||||
# NOTE: The template that this mixin is being included into is frozen
|
||||
# so you cannot set or modify any instance variables
|
||||
module RenderablePartial #:nodoc:
|
||||
extend ActiveSupport::Memoizable
|
||||
|
||||
def variable_name
|
||||
name.sub(/\A_/, '').to_sym
|
||||
end
|
||||
memoize :variable_name
|
||||
|
||||
def counter_name
|
||||
"#{variable_name}_counter".to_sym
|
||||
end
|
||||
memoize :counter_name
|
||||
|
||||
end
|
||||
end
|
|
@ -1,93 +0,0 @@
|
|||
# encoding: utf-8
|
||||
|
||||
module ActionView
|
||||
# NOTE: The template that this mixin is being included into is frozen
|
||||
# so you cannot set or modify any instance variables
|
||||
module Renderable #:nodoc:
|
||||
extend ActiveSupport::Memoizable
|
||||
|
||||
def render(view, locals)
|
||||
compile(locals)
|
||||
view.send(method_name(locals), locals) {|*args| yield(*args) }
|
||||
end
|
||||
|
||||
def load!
|
||||
names = CompiledTemplates.instance_methods.grep(/#{method_name_without_locals}/)
|
||||
names.each do |name|
|
||||
CompiledTemplates.class_eval do
|
||||
remove_method(name)
|
||||
end
|
||||
end
|
||||
super
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def filename
|
||||
'compiled-template'
|
||||
end
|
||||
|
||||
def handler
|
||||
Template.handler_class_for_extension(extension)
|
||||
end
|
||||
memoize :handler
|
||||
|
||||
def compiled_source
|
||||
handler.call(self)
|
||||
end
|
||||
memoize :compiled_source
|
||||
|
||||
def method_name_without_locals
|
||||
['_run', extension, method_segment].compact.join('_')
|
||||
end
|
||||
memoize :method_name_without_locals
|
||||
|
||||
def method_name(local_assigns)
|
||||
if local_assigns && local_assigns.any?
|
||||
method_name = method_name_without_locals.dup
|
||||
method_name << "_locals_#{local_assigns.keys.map { |k| k.to_s }.sort.join('_')}"
|
||||
else
|
||||
method_name = method_name_without_locals
|
||||
end
|
||||
method_name.to_sym
|
||||
end
|
||||
|
||||
# Compile and evaluate the template's code (if necessary)
|
||||
def compile(local_assigns)
|
||||
render_symbol = method_name(local_assigns)
|
||||
|
||||
if !CompiledTemplates.method_defined?(render_symbol) || recompile?
|
||||
compile!(render_symbol, local_assigns)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def compile!(render_symbol, local_assigns)
|
||||
locals_code = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join
|
||||
|
||||
source = <<-end_src
|
||||
def #{render_symbol}(local_assigns)
|
||||
old_output_buffer = output_buffer;#{locals_code};#{compiled_source}
|
||||
ensure
|
||||
self.output_buffer = old_output_buffer
|
||||
end
|
||||
end_src
|
||||
|
||||
begin
|
||||
ActionView::CompiledTemplates.module_eval(source, filename.to_s, 0)
|
||||
rescue Exception => e # errors from template code
|
||||
if logger = defined?(ActionController) && Base.logger
|
||||
logger.debug "ERROR: compiling #{render_symbol} RAISED #{e}"
|
||||
logger.debug "Function body: #{source}"
|
||||
logger.debug "Backtrace: #{e.backtrace.join("\n")}"
|
||||
end
|
||||
|
||||
raise ActionView::TemplateError.new(self, {}, e)
|
||||
end
|
||||
end
|
||||
|
||||
def recompile?
|
||||
false
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue