summaryrefslogtreecommitdiff
path: root/lib/nickserver/nickname.rb
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2016-07-02 13:16:35 +0200
committerAzul <azul@riseup.net>2016-07-02 13:26:43 +0200
commite81c1a8cf274a13903be00c74c975c0cb2c20995 (patch)
tree5da2e0711420fde574d1091dcbdfcccaddf52256 /lib/nickserver/nickname.rb
parentfb2d7e6f8f1fceefbc8964d34369a867eb8f25bb (diff)
refactor: turn EmailAddress into a class, cleanup
Diffstat (limited to 'lib/nickserver/nickname.rb')
-rw-r--r--lib/nickserver/nickname.rb51
1 files changed, 0 insertions, 51 deletions
diff --git a/lib/nickserver/nickname.rb b/lib/nickserver/nickname.rb
deleted file mode 100644
index 938d4a4..0000000
--- a/lib/nickserver/nickname.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-module Nickserver
- class Nickname
-
- EmailAddress = begin
- qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'
- dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'
- atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'
- quoted_pair = '\\x5c[\\x00-\\x7f]'
- domain_literal = "\\x5b(?:#{dtext}|#{quoted_pair})*\\x5d"
- quoted_string = "\\x22(?:#{qtext}|#{quoted_pair})*\\x22"
- domain_ref = atom
- sub_domain = "(?:#{domain_ref}|#{domain_literal})"
- word = "(?:#{atom}|#{quoted_string})"
- domain = "#{sub_domain}(?:\\x2e#{sub_domain})*"
- local_part = "#{word}(?:\\x2e#{word})*"
- addr_spec = "#{local_part}\\x40#{domain}"
- /\A#{addr_spec}\z/n
- end
-
- LOCAL_DOMAIN = 'test.me'
-
- def initialize(address)
- @address = address.to_s
- end
-
- def valid?
- address =~ EmailAddress
- end
-
- def invalid?
- !valid?
- end
-
- def local?
- address.end_with? LOCAL_DOMAIN
- end
-
- def remote?
- !local?
- end
-
- def to_s
- address
- end
-
- protected
-
- attr_reader :address
-
- end
-end