class ActionView::TemplateRenderer
def determine_template(options)
Experimental RBS support (using type sampling data from the type_fusion
project).
def determine_template: (Hash options) -> ActionView::Template
This signature was generated using 1 sample from 1 application.
def determine_template(options) keys = options.has_key?(:locals) ? options[:locals].keys : [] if options.key?(:body) Template::Text.new(options[:body]) elsif options.key?(:plain) Template::Text.new(options[:plain]) elsif options.key?(:html) Template::HTML.new(options[:html], formats.first) elsif options.key?(:file) if File.exist?(options[:file]) Template::RawFile.new(options[:file]) else if Pathname.new(options[:file]).absolute? raise ArgumentError, "File #{options[:file]} does not exist" else raise ArgumentError, "`render file:` should be given the absolute path to a file. '#{options[:file]}' was given instead" end end elsif options.key?(:inline) handler = Template.handler_for_extension(options[:type] || "erb") format = if handler.respond_to?(:default_format) handler.default_format else @lookup_context.formats.first end Template::Inline.new(options[:inline], "inline template", handler, locals: keys, format: format) elsif options.key?(:renderable) Template::Renderable.new(options[:renderable]) elsif options.key?(:template) if options[:template].respond_to?(:render) options[:template] else @lookup_context.find_template(options[:template], options[:prefixes], false, keys, @details) end else raise ArgumentError, "You invoked render but did not give any of :partial, :template, :inline, :file, :plain, :html or :body option." end end