class SimpleForm::Wrappers::Root

`Root` is the root wrapper for all components. It is special cased to always have a namespace and to add special html classes.

Attributes

options[R]

Public Class Methods

new(*args) click to toggle source
Calls superclass method SimpleForm::Wrappers::Many.new
# File lib/simple_form/wrappers/root.rb, line 8
def initialize(*args)
  super(:wrapper, *args)
  @options = @defaults.except(:tag, :class, :error_class, :hint_class)
end

Public Instance Methods

find(name) click to toggle source

Provide a fallback if name cannot be found.

Calls superclass method SimpleForm::Wrappers::Many#find
# File lib/simple_form/wrappers/root.rb, line 19
def find(name)
  super || SimpleForm::Wrappers::Many.new(name, [name])
end
render(input) click to toggle source
Calls superclass method SimpleForm::Wrappers::Many#render
# File lib/simple_form/wrappers/root.rb, line 13
def render(input)
  input.options.reverse_merge!(@options)
  super
end

Private Instance Methods

html_classes(input, options) click to toggle source
# File lib/simple_form/wrappers/root.rb, line 25
def html_classes(input, options)
  css = options[:wrapper_class] ? Array(options[:wrapper_class]) : @defaults[:class]
  css += SimpleForm.additional_classes_for(:wrapper) do
    input.additional_classes + [input.input_class]
  end
  css << (options[:wrapper_error_class] || @defaults[:error_class]) if input.has_errors?
  css << (options[:wrapper_hint_class] || @defaults[:hint_class]) if input.has_hint?
  css.compact
end