spamspanify 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module Spamspanify
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/spamspanify.rb CHANGED
@@ -39,7 +39,7 @@ module Spamspanify
39
39
  # SpamSpam markup
40
40
  def mailto_links input, paranoia_level = 1
41
41
  input.gsub(MAILTO_REGEXP) do |mailto|
42
- create_markup(mailto[EMAIL_REGEXP], paranoia_level)
42
+ create_markup(mailto[EMAIL_REGEXP], paranoia_level, mailto.split(">")[1].split("<")[0])
43
43
  end
44
44
  end
45
45
 
@@ -47,18 +47,20 @@ module Spamspanify
47
47
  #
48
48
  # @param [String] email_address
49
49
  # @param [Integer] paranoia_level
50
+ # @param [String] mailto_link_text
50
51
  # @return [String] SpamSpan HTML markup
51
52
  # @raise [Spamspanify::ParanoiaLevelNotSupportedError] when a not supported
52
53
  # paranoia level is requested
53
- def create_markup email_address, paranoia_level = 1
54
+ def create_markup email_address, paranoia_level = 1, mailto_link_text = nil
55
+ mailto_link_text = nil if (email_address == mailto_link_text)
54
56
  user, domain = email_address.split("@")
55
57
  case paranoia_level
56
58
  when 1
57
59
  "<span class='spamspan'><span class='u'>#{ user }</span>@<span class='d'>"\
58
- "#{ domain }</span></span>"
60
+ "#{ domain }</span>#{ "(<span class='t'>#{ mailto_link_text }</span>)" if mailto_link_text }</span>"
59
61
  when 3
60
62
  "<span class='spamspan'><span class='u'>#{ undotify(user) }</span> [at] "\
61
- "<span class='d'>#{ undotify(domain) }</span></span>"
63
+ "<span class='d'>#{ undotify(domain) }</span>#{ "(<span class='t'>#{ mailto_link_text }</span>)" if mailto_link_text }</span>"
62
64
  else
63
65
  Raise ParanoiaLevelNotSupportError
64
66
  end
@@ -20,8 +20,15 @@ describe Spamspanify do
20
20
  "'u'>major.seven</span>@<span class='d'>a-flat.com</span></span>."
21
21
  end
22
22
 
23
- it "should transform html <a href='mailto:..> links as well", focus: true do
24
- s = "Email <a href='mailto:b.flat@minor.com'>B.Flat</a> please."
25
- expect(s.spamspanify(1)).to eq "Email <span class='spamspan'><span class='u'>b.flat</span>@<span class='d'>minor.com</span></span> please."
23
+ describe "should transform html <a href='mailto:..> links as well" do
24
+ it "when link text is email address" do
25
+ s = "Email <a href='mailto:b.flat@minor.com'>b.flat@minor.com</a> please."
26
+ expect(s.spamspanify(1)).to eq "Email <span class='spamspan'><span class='u'>b.flat</span>@<span class='d'>minor.com</span></span> please."
27
+ end
28
+
29
+ it "using the link text as link text again" do
30
+ s = "Email <a href='mailto:b.flat@minor.com'>B.Flat</a> please."
31
+ expect(s.spamspanify(1)).to eq "Email <span class='spamspan'><span class='u'>b.flat</span>@<span class='d'>minor.com</span>(<span class='t'>B.Flat</span>)</span> please."
32
+ end
26
33
  end
27
34
  end
data/spec/spec_helper.rb CHANGED
@@ -2,5 +2,6 @@ require "rspec"
2
2
  require "spamspanify"
3
3
 
4
4
  RSpec.configure do |config|
5
-
5
+ config.filter_run focus: true
6
+ config.run_all_when_everything_filtered = true
6
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spamspanify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-07 00:00:00.000000000 Z
12
+ date: 2012-12-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake