module SimpleForm::Components::Errors

def error

def error
  error_text if has_errors?
end

def error_method

def error_method
  options[:error_method] || SimpleForm.error_method
end

def error_text

def error_text
  "#{options[:error_prefix]} #{errors.send(error_method)}".lstrip.html_safe
end

def errors

def errors
  @errors ||= (errors_on_attribute + errors_on_association).compact
end

def errors_on_association

def errors_on_association
  reflection ? object.errors[reflection.name] : []
end

def errors_on_attribute

def errors_on_attribute
  object.errors[attribute_name]
end

def has_errors?

def has_errors?
  object && object.respond_to?(:errors) && errors.present?
end