Module: Spamspanify
- Defined in:
- lib/spamspanify.rb,
lib/spamspanify/version.rb,
lib/spamspanify/exceptions.rb
Defined Under Namespace
Classes: ParanoiaLevelNotSupportedError
Constant Summary collapse
- EMAIL_REGEXP =
/([\w|\-\.])+@([\w|\-\.])+\w+/
- MAILTO_REGEXP =
/<a\s*href=(\'|\")mailto:#{ EMAIL_REGEXP }(\'|\").*<\/a>/
- VERSION =
"1.1.0"
Class Method Summary collapse
-
.all(input, paranoia_level = 1) ⇒ String
Converts plain email addresses and mailto links in the input into SpamSpan markup.
-
.create_markup(email_address, paranoia_level = 1, mailto_link_text = nil) ⇒ String
Creates SpanSpam HTML markup.
-
.mailto_links(input, paranoia_level = 1) ⇒ String
Converts all HTML mailto links in the input into SpamSpan markup.
-
.plain_email_addresses(input, paranoia_level = 1) ⇒ String
Converts all plain email addresses in the input into SpamSpan markup.
-
.undotify(input) ⇒ String
Converts every “.” in a string into “ [dot] ”.
Class Method Details
.all(input, paranoia_level = 1) ⇒ String
Converts plain email addresses and mailto links in the input into SpamSpan markup.
18 19 20 |
# File 'lib/spamspanify.rb', line 18 def all input, paranoia_level = 1 plain_email_addresses(mailto_links(input, paranoia_level), paranoia_level) end |
.create_markup(email_address, paranoia_level = 1, mailto_link_text = nil) ⇒ String
Creates SpanSpam HTML markup.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/spamspanify.rb', line 54 def create_markup email_address, paranoia_level = 1, mailto_link_text = nil mailto_link_text = nil if (email_address == mailto_link_text) user, domain = email_address.split("@") case paranoia_level when 1 "<span class='spamspan'><span class='u'>#{ user }</span>@<span class='d'>"\ "#{ domain }</span>#{ "(<span class='t'>#{ mailto_link_text }</span>)" if mailto_link_text }</span>" when 3 "<span class='spamspan'><span class='u'>#{ undotify(user) }</span> [at] "\ "<span class='d'>#{ undotify(domain) }</span>#{ "(<span class='t'>#{ mailto_link_text }</span>)" if mailto_link_text }</span>" else Raise ParanoiaLevelNotSupportError end end |
.mailto_links(input, paranoia_level = 1) ⇒ String
Converts all HTML mailto links in the input into SpamSpan markup.
40 41 42 43 44 |
# File 'lib/spamspanify.rb', line 40 def mailto_links input, paranoia_level = 1 input.gsub(MAILTO_REGEXP) do |mailto| create_markup(mailto[EMAIL_REGEXP], paranoia_level, mailto.split(">")[1].split("<")[0]) end end |
.plain_email_addresses(input, paranoia_level = 1) ⇒ String
Converts all plain email addresses in the input into SpamSpan markup.
28 29 30 31 32 |
# File 'lib/spamspanify.rb', line 28 def plain_email_addresses input, paranoia_level = 1 input.gsub(EMAIL_REGEXP) do |email| create_markup(email, paranoia_level) end end |
.undotify(input) ⇒ String
Converts every “.” in a string into “ [dot] ”
73 74 75 |
# File 'lib/spamspanify.rb', line 73 def undotify input input.gsub ".", " [dot] " end |