mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
49 lines
1.4 KiB
Ruby
49 lines
1.4 KiB
Ruby
require 'action_dispatch/http/mime_type'
|
|
require 'active_support/core_ext/class/attribute'
|
|
|
|
# Legacy TemplateHandler stub
|
|
module ActionView
|
|
class Template
|
|
module Handlers #:nodoc:
|
|
module Compilable
|
|
def self.included(base)
|
|
ActiveSupport::Deprecation.warn "Including Compilable in your template handler is deprecated. " <<
|
|
"Since Rails 3, all the API your template handler needs to implement is to respond to #call."
|
|
base.extend(ClassMethods)
|
|
end
|
|
|
|
module ClassMethods
|
|
def call(template)
|
|
new.compile(template)
|
|
end
|
|
end
|
|
|
|
def compile(template)
|
|
raise "Need to implement #{self.class.name}#compile(template)"
|
|
end
|
|
end
|
|
end
|
|
|
|
class Template::Handler
|
|
class_attribute :default_format
|
|
self.default_format = Mime::HTML
|
|
|
|
def self.inherited(base)
|
|
ActiveSupport::Deprecation.warn "Inheriting from ActionView::Template::Handler is deprecated. " <<
|
|
"Since Rails 3, all the API your template handler needs to implement is to respond to #call."
|
|
super
|
|
end
|
|
|
|
def self.call(template)
|
|
raise "Need to implement #{self.class.name}#call(template)"
|
|
end
|
|
|
|
def render(template, local_assigns)
|
|
raise "Need to implement #{self.class.name}#render(template, local_assigns)"
|
|
end
|
|
end
|
|
end
|
|
|
|
TemplateHandlers = Template::Handlers
|
|
TemplateHandler = Template::Handler
|
|
end
|