From b54164cef830e08fb7d481383e637e407a3cf49c Mon Sep 17 00:00:00 2001 From: Michael Sofaer and Raphael Sofaer Date: Fri, 26 Nov 2010 11:55:45 -0500 Subject: [PATCH] Don't do expensive things on invalid users --- app/models/user.rb | 4 ++++ spec/models/user_spec.rb | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 1fdf6fe6e..520cbc77c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -372,6 +372,10 @@ class User def setup(opts) self.username = opts[:username] + self.valid? + errors = self.errors + errors.delete :person + return if errors.size > 0 opts[:person] ||= {} opts[:person][:profile] ||= Profile.new diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c4fb6d472..464787133 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -216,7 +216,6 @@ describe User do lambda { User.build(@invalid_params) }.should_not change(Person, :count) end it 'does not generate a key' do - pending 'Validate users before generating keys' User.should_receive(:generate_key).exactly(0).times User.build(@invalid_params) end