class User include DataMapper::Resource property :id, Serial property :username, String property :facebook_token, String timestamps :at devise :database_authenticatable, :confirmable, :lockable, :recoverable, :registerable, :rememberable, :timeoutable, :token_authenticatable, :trackable, :validatable include Shim before :valid?, :update_password_confirmation # DM's validates_confirmation_of requires the confirmation field to be present, # while ActiveModel by default skips the confirmation test if the confirmation # value is nil. This test takes advantage of AM's behavior, so just add the # :password_confirmation value. def update_password_confirmation if self.password && self.password_confirmation.nil? self.password_confirmation = self.password end end end