sniper_links 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3f5c9fbc1542fc776dc6084b63a5ea0702745f13f1a1025cdaffd5a679901c9
4
- data.tar.gz: 8ee4b279afc745bbeeb2d7da7d8bfc4d27f96f6e280db791ddee9cc531eb71a9
3
+ metadata.gz: ca3113b41e761eff4fd8aeb31503d0bf914029a150abd3b1018ec6ee0f7e2f2d
4
+ data.tar.gz: 8567b12c6431f595d4a04da9dd5dbadfc2bc2f3c76d70850979c13f6d1b201f9
5
5
  SHA512:
6
- metadata.gz: 37ede0163e2104888cd30389474cc7b87c2c4d9039355f3b54c433c63c8898c5653e98f42a7279c0d7fab48a340f44ad05cf411b94047e549224496582fd8bcb
7
- data.tar.gz: 6391562cab9a13990df5901c1bce17e43ee9adcb8793f61708b821fe1a9687daa34e2df581a1d68e63440d60d0f7a5880c75867b3ecb431e45e8636eefd8cd69
6
+ metadata.gz: b770935a564133235a690d7dacdaf843e0d0ba4c3d83464fb5ea1d779c160d04d06a387ac0f4847a8b56f2f521b6f44bf304a67e2d65b7efeea04cdcf80d4a78
7
+ data.tar.gz: 5990297577be8db4dbe10649cec084ca1968899b623d2d3659f44ed216a33d6504cc9e84a04107ecec00f93c624936495d33b184072744e8d4e392b16f55af0b
data/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 0.2.0 - 2025-05-29
11
+
12
+ ### Added
13
+
14
+ * Support for hey.com (browser link only)
15
+ * Support for aol.com (browser link only)
16
+ * Support for mail.ru (browser link only)
17
+
10
18
  ## 0.1.1 - 2025-05-23
11
19
 
12
20
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sniper_links (0.1.0)
4
+ sniper_links (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -41,4 +41,4 @@ DEPENDENCIES
41
41
  sniper_links!
42
42
 
43
43
  BUNDLED WITH
44
- 2.1.4
44
+ 2.4.5
data/README.md CHANGED
@@ -73,18 +73,21 @@ We support the following email service provider platforms:
73
73
  * Yahoo - `*@yahoo.*` or `*@myyahoo.*`
74
74
  * ProtonMail - `*@protonmail.com`, `*@proton.me`, `*@protonmail.ch`, or `*@pm.me`
75
75
  * iCloud - `*@icloud.com`, `*@me.com`, or `*@mac.com`
76
+ * Hey.com - `*@hey.com`
77
+ * AOL - `*@aol.com`
78
+ * Mail.ru - `*@mail.ru`
76
79
 
77
80
  ### Sniper link strategy functionality
78
81
 
79
82
  Each email service provider has its own sniper link strategy. The following table shows how much functionality is supported by each provider.
80
83
 
81
- | | Gmail | Outlook | Yahoo | Protonmail | iCloud |
82
- |--------------|-------|---------|-------|------------|--------|
83
- | Link | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
84
- | Account | ✔️ | ✔️ | ✖️ | ✖️️ | ✖️ |
85
- | From filter | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ |
86
- | Spam piercer | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ |
87
- | Time filter | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ |
84
+ | | Gmail | Outlook | Yahoo | Protonmail | iCloud | Hey.com | AOL | Mail.ru |
85
+ |--------------|-------|---------|-------|------------|--------|---------|---------|-------|
86
+ | Link | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
87
+ | Account | ✔️ | ✔️ | ✖️ | ✖️️ | ✖️ | ✖️ | ✖️ | ✖️ |
88
+ | From filter | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ | ✖️ | ✔️ | ✔️ |
89
+ | Spam piercer | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ | ✔️ | ✖️ | ✖️ |
90
+ | Time filter | ✔️ | ✖️️️️ | ✔️ | ✔️ | ✖️ | ✖️ | ✔️ | ✖️ |
88
91
 
89
92
  ## Development
90
93
 
@@ -96,7 +99,7 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/zero-o
96
99
 
97
100
  ### Feature wishlist
98
101
 
99
- * Add support for more email service providers, like Hey.com, Fastmail, etc.
102
+ * Add support for more email service providers, like Fastmail, etc.
100
103
  * Add support for selecting a strategy based on the email address domain's MX records.
101
104
 
102
105
  ## License
@@ -0,0 +1,21 @@
1
+ class SniperLinks
2
+ module Strategies
3
+ class AOLDotCom
4
+ def initialize(email)
5
+ @email = email
6
+ end
7
+
8
+ def sniper_link(from)
9
+ @from = from
10
+
11
+ URI("https://mail.aol.com/d/search/keyword=from:#{from}")
12
+ end
13
+
14
+ attr_reader :email, :from
15
+ end
16
+ end
17
+ end
18
+
19
+ __END__
20
+
21
+ https://mail.aol.com/d/search/keyword=from:me@you.com
@@ -0,0 +1,19 @@
1
+ class SniperLinks
2
+ module Strategies
3
+ class HeyDotCom
4
+ def initialize(email)
5
+ @email = email
6
+ end
7
+
8
+ def sniper_link(_from = nil)
9
+ URI("https://app.hey.com/topics/everything")
10
+ end
11
+
12
+ attr_reader :email
13
+ end
14
+ end
15
+ end
16
+
17
+ __END__
18
+
19
+ https://app.hey.com/topics/everything
@@ -0,0 +1,21 @@
1
+ class SniperLinks
2
+ module Strategies
3
+ class MailDotRu
4
+ def initialize(email)
5
+ @email = email
6
+ end
7
+
8
+ def sniper_link(from)
9
+ @from = from
10
+
11
+ URI("https://e.mail.ru/search?q_from=#{from}")
12
+ end
13
+
14
+ attr_reader :email, :from
15
+ end
16
+ end
17
+ end
18
+
19
+ __END__
20
+
21
+ https://e.mail.ru/search/?q_from=me@you.com
@@ -1,3 +1,3 @@
1
1
  class SniperLinks
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/sniper_links.rb CHANGED
@@ -2,8 +2,11 @@ require "sniper_links/version"
2
2
 
3
3
  require "uri"
4
4
 
5
+ require "sniper_links/strategies/aol_dot_com"
5
6
  require "sniper_links/strategies/apple"
6
7
  require "sniper_links/strategies/gmail"
8
+ require "sniper_links/strategies/hey_dot_com"
9
+ require "sniper_links/strategies/mail_dot_ru"
7
10
  require "sniper_links/strategies/outlook"
8
11
  require "sniper_links/strategies/proton"
9
12
  require "sniper_links/strategies/yahoo"
@@ -43,6 +46,12 @@ class SniperLinks
43
46
  SniperLinks::Strategies::Proton.new(email)
44
47
  when /(me|mac|icloud)\.com\z/
45
48
  SniperLinks::Strategies::Apple.new(email)
49
+ when /hey\.com\z/
50
+ SniperLinks::Strategies::HeyDotCom.new(email)
51
+ when /aol\.com\z/
52
+ SniperLinks::Strategies::AOLDotCom.new(email)
53
+ when /mail\.ru\z/
54
+ SniperLinks::Strategies::MailDotRu.new(email)
46
55
  else
47
56
  raise Error, "Unsupported email domain"
48
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sniper_links
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Fortuna
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-05-23 00:00:00.000000000 Z
11
+ date: 2025-05-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Increase your email open rates with sniper links. This gem generates
14
14
  sniper links for various email platforms, increasing the chance that an email will
@@ -31,8 +31,11 @@ files:
31
31
  - bin/console
32
32
  - bin/setup
33
33
  - lib/sniper_links.rb
34
+ - lib/sniper_links/strategies/aol_dot_com.rb
34
35
  - lib/sniper_links/strategies/apple.rb
35
36
  - lib/sniper_links/strategies/gmail.rb
37
+ - lib/sniper_links/strategies/hey_dot_com.rb
38
+ - lib/sniper_links/strategies/mail_dot_ru.rb
36
39
  - lib/sniper_links/strategies/outlook.rb
37
40
  - lib/sniper_links/strategies/proton.rb
38
41
  - lib/sniper_links/strategies/yahoo.rb
@@ -61,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
64
  - !ruby/object:Gem::Version
62
65
  version: '0'
63
66
  requirements: []
64
- rubygems_version: 3.1.6
67
+ rubygems_version: 3.3.22
65
68
  signing_key:
66
69
  specification_version: 4
67
70
  summary: Generate sniper links for various email platforms