summaryrefslogtreecommitdiff
path: root/lib/email.rb
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2016-07-05 09:27:35 +0200
committerAzul <azul@riseup.net>2016-07-05 09:27:35 +0200
commit8666b74ce75856421a87d25452aafaa9301de3fd (patch)
tree38f4f1b2d54c8c4ff6b1bc07616cadff1271de4b /lib/email.rb
parent949e17c7c30c5b179ba6545782ae995178481f78 (diff)
parentbf77b0b1f53753ba239ef8c2668bc76603cd96e5 (diff)
Merge remote-tracking branch 'pr/225' into develop
Fix install issue and update the documentation During the rails 4 update db:migrate stopped working because the way couchrest loads all models broke. This includes a fix and also updates the install instructions. I tried to separate advanced topics in development from the others by marking the sections (advanced) in doc/DEVELOP.md
Diffstat (limited to 'lib/email.rb')
-rw-r--r--lib/email.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/email.rb b/lib/email.rb
new file mode 100644
index 0000000..4090275
--- /dev/null
+++ b/lib/email.rb
@@ -0,0 +1,31 @@
+class Email < String
+ include ActiveModel::Validations
+
+ validates :email,
+ :format => {
+ :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, #local part of email is case-sensitive, so allow uppercase letter.
+ :message => "needs to be a valid email address"
+ }
+
+ # Make sure we can call Email.new(nil) and get an invalid email address
+ def initialize(s)
+ super(s.to_s)
+ end
+
+ def to_partial_path
+ "emails/email"
+ end
+
+ def to_param
+ to_s
+ end
+
+ def email
+ self
+ end
+
+ def handle
+ self.split('@').first
+ end
+
+end