Module: LayoutOptions::InstanceMethods

Defined in:
lib/layout_options/layout_options.rb

Instance Method Summary collapse

Instance Method Details

#layout_options_selectorObject

:nodoc:



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/layout_options/layout_options.rb', line 45

def layout_options_selector # :nodoc:
  layout_options = LayoutOptions::Storage[controller_name] || {}
  layout_options = layout_options.clone unless layout_options.empty?
  no_layout = layout_options.delete(:none) || []
  no_layout = [no_layout] unless Array === no_layout
  action = action_name.to_sym

  layout_options.each do |key, values|
    values = [values] unless Array === values
    return key.to_s if values.include?(action)
  end

  no_layout.map! { |value| value.to_sym }
  return no_layout.include?(action) ? false : 'application'
end