Method: Padrino::Rendering::ClassMethods#fetch_layout_path

Defined in:
padrino-helpers/lib/padrino/rendering.rb

#fetch_layout_path(given_layout, layouts_path = views) ⇒ Object

Returns the cached layout path.

Parameters:

  • given_layout (String, nil)

    The requested layout.

  • layouts_path (String, nil) (defaults to: views)

    The directory where the layouts are located. Defaults to #views.



110
111
112
113
114
115
116
117
118
119
# File 'padrino-helpers/lib/padrino/rendering.rb', line 110

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