Class: Storefront::Components::Form::Errors

Inherits:
Base
  • Object
show all
Defined in:
lib/storefront/components/form/errors.rb

Constant Summary

Constants included from Helpers::ContentHelper

Helpers::ContentHelper::SCOPES, Helpers::ContentHelper::SCOPES_WITH_NAMESPACE, Helpers::ContentHelper::SCOPES_WITH_NAMESPACE_AND_NESTED_MODEL, Helpers::ContentHelper::SCOPES_WITH_NESTED_MODEL

Instance Attribute Summary

Attributes inherited from Base

#options, #template

Instance Method Summary collapse

Methods included from Helpers::DomHelper

#aria, #clone_attributes, #dom, #index_class, #merge_class, #merge_class!, #page, #resource_to_title, #title_widget, #title_widget_options

Methods included from Helpers::ContentHelper

#encoded_contents, #font_face_data_uri, #html5_time, #read_binary_file, #read_image_size, #rendered_text, #sanitize, #t?

Methods inherited from Base

#component_name, #extract_classes!, #extract_options!, #inside?, #pointer, #render_with_pointer, #to_s

Constructor Details

#initialize(options = {}) ⇒ Errors

Returns a new instance of Errors.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/storefront/components/form/errors.rb', line 5

def initialize(options = {})
  super

  attributes.merge!(options[:error_html]) if options[:error_html]
  attributes.delete :error_html
  attributes.delete :error
  # error
  merge_class! @attributes, config.error_class
  # aria-invalid = true|grammar|spelling
  # aria-hidden
  attributes[:id]  ||= attribute.to_id(:type => :error, :index => index, :parent_index => parent_index) if config.id_enabled_on.include?("error")
  @value = model.errors_for(attribute.name)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Storefront::Components::Base

Instance Method Details

#render(&block) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/storefront/components/form/errors.rb', line 19

def render(&block)
  template.capture_haml do
    if value.present?
      template.haml_tag config.error_tag, value.join("\n").html_safe.gsub(/\n$/, ""), attributes
    elsif config.always_include_error_tag
      template.haml_tag config.error_tag, attributes
    end
  end
end