module OnForm::Errors

Public Instance Methods

errors() click to toggle source
# File lib/on_form/errors.rb, line 3
def errors
  @errors ||= ActiveModel::Errors.new(self)
end
reset_errors() click to toggle source
# File lib/on_form/errors.rb, line 7
def reset_errors
  @errors = nil
  reset_errors_on_child_forms
end

Private Instance Methods

collect_errors_from_backing_model_instances() click to toggle source
# File lib/on_form/errors.rb, line 17
def collect_errors_from_backing_model_instances
  self.class.exposed_attributes.each do |backing_model_name, attribute_mappings|
    backing_model = backing_model_instance(backing_model_name)

    collect_errors_on(backing_model, :base, :base)

    attribute_mappings.each do |exposed_name, backing_name|
      collect_errors_on(backing_model, exposed_name, backing_name)
    end
  end
end
collect_errors_on(backing_model, exposed_name, backing_name) click to toggle source
# File lib/on_form/errors.rb, line 29
def collect_errors_on(backing_model, exposed_name, backing_name)
  Array(backing_model.errors[backing_name]).each { |error| errors[exposed_name] << error }
end
reset_errors_on_child_forms() click to toggle source
# File lib/on_form/errors.rb, line 13
def reset_errors_on_child_forms
  collection_wrappers.each_value(&:reset_forms_errors)
end