spam_email 0.0.65 → 0.1.3

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,11 +1,22 @@
1
1
  require 'mail'
2
+ require 'public_suffix'
2
3
 
3
4
  module SpamEmail
4
5
  def self.blacklisted? email_address
5
6
  address = Mail::Address.new(email_address)
6
7
  return false unless address.domain
7
8
 
8
- BLACKLIST.include?(address.domain.downcase)
9
+ complete_domain = address.domain.downcase
10
+ main_domain = PublicSuffix.domain(complete_domain)
11
+ listed = BLACKLIST.include?(main_domain)
12
+
13
+ unless listed
14
+ if complete_domain != main_domain
15
+ listed = BLACKLIST.include?(complete_domain)
16
+ end
17
+ end
18
+
19
+ listed
9
20
  rescue Mail::Field::ParseError
10
21
  false
11
22
  end
@@ -1,3 +1,5 @@
1
+ require 'set'
2
+
1
3
  module SpamEmail
2
4
  IPLIST = Set.new [
3
5
  '176.126.236.241',
@@ -1,3 +1,3 @@
1
1
  module SpamEmail
2
- VERSION = '0.0.65'
2
+ VERSION = '0.1.3'
3
3
  end
data/spam_email.gemspec CHANGED
@@ -20,5 +20,6 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency "rspec"
21
21
  spec.add_development_dependency "rake"
22
22
  spec.add_runtime_dependency "mail"
23
+ spec.add_runtime_dependency "public_suffix"
23
24
  spec.add_runtime_dependency "activemodel"
24
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spam_email
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.65
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phillipp Röll
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-09 00:00:00.000000000 Z
11
+ date: 2021-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: public_suffix
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: activemodel
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -109,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  requirements: []
112
- rubyforge_project:
113
- rubygems_version: 2.6.14
126
+ rubygems_version: 3.0.6
114
127
  signing_key:
115
128
  specification_version: 4
116
129
  summary: ActiveModel validation for spam/one-time email addresses