module ActionController::Renderers::ClassMethods
def _write_render_options
def _write_render_options renderers = _renderers.map do |name, value| <<-RUBY_EVAL if options.key?(:#{name}) _process_options(options) return _render_option_#{name}(options.delete(:#{name}), options) end RUBY_EVAL end class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1 def _handle_render_options(options) #{renderers.join} end RUBY_EVAL end
def use_renderers(*args)
def use_renderers(*args) new = _renderers.dup args.each do |key| new[key] = RENDERERS[key] end self._renderers = new.freeze _write_render_options end