module ActionView::Layouts::ClassMethods

def layout(layout, conditions = {})

* :except - Apply this layout to all actions but this one.
* :only - A list of actions to apply this layout to.
==== Options (conditions)

* layout - The layout to use.
==== Parameters
with the same meaning as described above.
Return value of +Proc+ and +Symbol+ arguments should be +String+, +false+, +true+ or +nil+

nil:: Force default layout behavior with inheritance
true:: raise an ArgumentError
false:: There is no layout
Proc:: call the passed Proc
Symbol:: call the method specified by the symbol
String:: the String is the template name
If the specified layout is a:

Specify the layout to use for this class.
def layout(layout, conditions = {})
  include LayoutConditions unless conditions.empty?
  conditions.each { |k, v| conditions[k] = Array(v).map(&:to_s) }
  self._layout_conditions = conditions
  self._layout = layout
  _write_layout_method
end