diff options
author | Azul <azul@leap.se> | 2013-07-18 12:12:07 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-07-24 10:55:50 +0200 |
commit | cc96c60c4617c09379d5e1ddbefa42407329c19a (patch) | |
tree | 1f51c6a1c76ca283c9ddafe6b5d940fe2fe29ea4 /users/app | |
parent | 4a071ef1b33525fa2d1052aa7f21b549447fe767 (diff) |
testing all versions of emial identities, emails are now strings
Diffstat (limited to 'users/app')
-rw-r--r-- | users/app/models/email.rb | 21 | ||||
-rw-r--r-- | users/app/models/identity.rb | 4 | ||||
-rw-r--r-- | users/app/models/local_email.rb | 20 |
3 files changed, 9 insertions, 36 deletions
diff --git a/users/app/models/email.rb b/users/app/models/email.rb index 6d82f2a..90fc645 100644 --- a/users/app/models/email.rb +++ b/users/app/models/email.rb @@ -1,6 +1,5 @@ -module Email - extend ActiveSupport::Concern - +class Email < String +=begin included do validates :email, :format => { @@ -8,26 +7,14 @@ module Email :message => "needs to be a valid email address" } end - - def initialize(attributes = nil, &block) - attributes = {:email => attributes} if attributes.is_a? String - super(attributes, &block) - end - - def to_s - email - end - - def ==(other) - other.is_a?(Email) ? self.email == other.email : self.email == other - end +=end def to_partial_path "emails/email" end def to_param - email + to_s end end diff --git a/users/app/models/identity.rb b/users/app/models/identity.rb index 9fd0cad..c9c8b73 100644 --- a/users/app/models/identity.rb +++ b/users/app/models/identity.rb @@ -4,8 +4,8 @@ class Identity < CouchRest::Model::Base belongs_to :user - property :address - property :destination + property :address, LocalEmail + property :destination, Email design do view :by_user_id diff --git a/users/app/models/local_email.rb b/users/app/models/local_email.rb index 69cba01..1cadc71 100644 --- a/users/app/models/local_email.rb +++ b/users/app/models/local_email.rb @@ -1,25 +1,11 @@ -class LocalEmail - include CouchRest::Model::Embeddable - include Email - - property :username, String - - before_validation :strip_domain_if_needed - - validates :username, - :presence => true, - :format => { :with => /\A([^@\s]+)(@#{APP_CONFIG[:domain]})?\Z/i, :message => "needs to be a valid login or email address @#{APP_CONFIG[:domain]}"} +class LocalEmail < Email +=begin validate :unique_on_server validate :unique_alias_for_user validate :differs_from_login +=end - validates :casted_by, :presence => true - - def email - return '' if username.nil? - username + '@' + APP_CONFIG[:domain] - end def email=(value) return if value.blank? |