From d204a09df21ce3578081108936a57707b5ece9b8 Mon Sep 17 00:00:00 2001 From: Edouard CHIN Date: Wed, 10 Jul 2019 23:30:44 +0200 Subject: Switch to use `class_attribute`: - Since `ActiveModel::Error` can now be inherited by `ActiveModel::NestedError`, when the latter generates a `full_message`, the `i18n_customize_full_message` accessor set in the parent class is not set. This commit fixes that by using a `class_attribute` instead. --- activemodel/lib/active_model/error.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'activemodel/lib') diff --git a/activemodel/lib/active_model/error.rb b/activemodel/lib/active_model/error.rb index aef28b5af0..6deab3578d 100644 --- a/activemodel/lib/active_model/error.rb +++ b/activemodel/lib/active_model/error.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "active_support/core_ext/class/attribute" + module ActiveModel # == Active \Model \Error # @@ -8,10 +10,7 @@ module ActiveModel CALLBACKS_OPTIONS = [:if, :unless, :on, :allow_nil, :allow_blank, :strict] MESSAGE_OPTIONS = [:message] - class << self - attr_accessor :i18n_customize_full_message # :nodoc: - end - self.i18n_customize_full_message = false + class_attribute :i18n_customize_full_message, default: false def self.full_message(attribute, message, base_class) # :nodoc: return message if attribute == :base -- cgit v1.2.3