Files
openfoodnetwork/config/initializers/custom_errors.rb
Matt-Yorkley f5ebd47751 Replace customisations with explicit patch in an initializer
See previous commit.

This isn't nice, but it does the same job as the gem did. We can also update this code now as Rails changes (the gem was incompatible with Rails 7).
2021-12-28 10:19:35 +00:00

23 lines
763 B
Ruby

# This patch customises ActiveModel error messages, as previously handled by the custom_error_messages gem
# See: https://github.com/jeremydurham/custom-err-msg
module ActiveModel
class Error
def self.full_message(attribute, message, base)
return message if attribute == :base
attr_name = attribute.to_s.tr(".", "_").humanize
attr_name = base.class.human_attribute_name(attribute, {
default: attr_name,
base: base,
})
if message.start_with?("^")
I18n.t("errors.format.full_message", default: "%{message}", message: message[1..-1], attribute: attr_name)
else
I18n.t("errors.format", default: "%{attribute} %{message}", message: message, attribute: attr_name)
end
end
end
end