module Padrino::Rendering::ClassMethods
def cache_layout_path(name)
def cache_layout_path(name) @_cached_layout ||= {} if !reload_templates? && path = @_cached_layout[name] path else @_cached_layout[name] = yield(name) end end
def cache_template_path(options)
def cache_template_path(options) began_at = Time.now @_cached_templates ||= {} logging = defined?(settings) && settings.logging? && defined?(logger) if !reload_templates? && path = @_cached_templates[options] logger.debug :cached, began_at, path[0] if logging else path = @_cached_templates[options] = yield(name) logger.debug :template, began_at, path[0] if path && logging end path end
def fetch_layout_path(given_layout, layouts_path=views)
-
layouts_path
(String, nil
) -- -
given_layout
(String, nil
) --
def fetch_layout_path(given_layout, layouts_path=views) layout_name = (given_layout || @layout || :application).to_s cache_layout_path(layout_name) do if Pathname.new(layout_name).absolute? && Dir["#{layout_name}.*"].any? || Dir["#{layouts_path}/#{layout_name}.*"].any? layout_name else File.join('layouts', layout_name) end end end
def layout(name=:layout, &block)
- Yield: - []
Parameters:
-
name
(Symbol
) -- (:layout)
def layout(name=:layout, &block) return super(name, &block) if block_given? @layout = name end