Method: ActiveModel::Validations::AcceptanceValidator::LazilyDefineAttributes#define_on
- Defined in:
- activemodel/lib/active_model/validations/acceptance.rb
#define_on(klass) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'activemodel/lib/active_model/validations/acceptance.rb', line 56 def define_on(klass) @lock&.synchronize do return unless @lock attr_readers = attributes.reject { |name| klass.attribute_method?(name) } attr_writers = attributes.reject { |name| klass.attribute_method?("#{name}=") } attr_reader(*attr_readers) attr_writer(*attr_writers) remove_method :respond_to_missing? remove_method :method_missing @lock = nil end end |