From 3e1feff84ea32ddd7b11a94670472d3a4d1fb37e Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Tue, 22 Oct 2013 17:56:14 +0200 Subject: [PATCH] Auto-strip whitespace from email and nickname --- app/models/user.rb | 8 ++++++++ spec/models/user_spec.rb | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/app/models/user.rb b/app/models/user.rb index 18b99c1..16e4d9d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -20,6 +20,14 @@ class User < ActiveRecord::Base where(email: email).first end + def nickname=(value) + value ? super(value.strip) : super + end + + def email=(value) + value ? super(value.strip) : super + end + def to_param nickname end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 1e53811..e636790 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -47,6 +47,22 @@ describe User do end end + describe '#nickname=' do + it 'strips the whitespace' do + user = User.new(nickname: ' sickill ') + + expect(user.nickname).to eq('sickill') + end + end + + describe '#email=' do + it 'strips the whitespace' do + user = User.new(email: ' foo@bar.com ') + + expect(user.email).to eq('foo@bar.com') + end + end + describe '#add_user_token' do let(:user) { build(:user) }