From f8b283bb9f82a1118db268b5f5ad9bd6e0413b74 Mon Sep 17 00:00:00 2001 From: scambra Date: Tue, 25 Oct 2011 17:08:34 +0200 Subject: [PATCH] run validations even when invite_key is blank. fix #136 --- lib/devise_invitable/model.rb | 2 +- lib/devise_invitable/version.rb | 2 +- test/models/invitable_test.rb | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/devise_invitable/model.rb b/lib/devise_invitable/model.rb index 9740d91a..2f111c72 100644 --- a/lib/devise_invitable/model.rb +++ b/lib/devise_invitable/model.rb @@ -131,7 +131,7 @@ def _invite(attributes={}, invited_by=nil, &block) invitable.errors.add(invite_key, :taken) unless invitable.invited? && self.resend_invitation end - if invitable.errors.empty? + if self.validate_on_invite || invitable.errors.empty? yield invitable if block_given? mail = invitable.invite! end diff --git a/lib/devise_invitable/version.rb b/lib/devise_invitable/version.rb index 33e1dcf6..6c6f9c10 100644 --- a/lib/devise_invitable/version.rb +++ b/lib/devise_invitable/version.rb @@ -1,3 +1,3 @@ module DeviseInvitable - VERSION = '0.5.5' + VERSION = '0.5.6' end diff --git a/test/models/invitable_test.rb b/test/models/invitable_test.rb index 7223d33c..14c00542 100644 --- a/test/models/invitable_test.rb +++ b/test/models/invitable_test.rb @@ -173,7 +173,16 @@ def setup validate_on_invite = User.validate_on_invite User.validate_on_invite = true invited_user = User.invite!(:email => "valid@email.com", :username => "a"*50) - assert !invited_user.errors.empty? + assert invited_user.errors[:username].present? + User.validate_on_invite = validate_on_invite + end + + test 'should validate other attributes when validate_on_invite is enabled and email is not present' do + validate_on_invite = User.validate_on_invite + User.validate_on_invite = true + invited_user = User.invite!(:email => "", :username => "a"*50) + assert invited_user.errors[:email].present? + assert invited_user.errors[:username].present? User.validate_on_invite = validate_on_invite end