module Devise::Models
def self.check_fields!(klass)
def self.check_fields!(klass) failed_attributes = [] instance = klass.new klass.devise_modules.each do |mod| constant = const_get(mod.to_s.classify) if constant.respond_to?(:required_fields) constant.required_fields(klass).each do |field| failed_attributes << field unless instance.respond_to?(field) end else ActiveSupport::Deprecation.warn "The module #{mod} doesn't implement self.required_fields(klass). " \ "Devise uses required_fields to warn developers of any missing fields in their models. " \ "Please implement #{mod}.required_fields(klass) that returns an array of symbols with the required fields." end end if failed_attributes.any? fail Devise::Models::MissingAttribute.new(failed_attributes) end end