truemail 1.6.0 → 1.9.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.
@@ -3,7 +3,7 @@
3
3
  module Truemail
4
4
  module Log
5
5
  module Serializer
6
- class Json < Truemail::Log::Serializer::Base
6
+ class ValidatorJson < Truemail::Log::Serializer::ValidatorBase
7
7
  def serialize
8
8
  result.to_json
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Truemail
4
4
  module Log
5
5
  module Serializer
6
- class Text < Truemail::Log::Serializer::Base
6
+ class ValidatorText < Truemail::Log::Serializer::ValidatorBase
7
7
  ATTEMPT = 'ATTEMPT #'
8
8
 
9
9
  def serialize
@@ -30,7 +30,7 @@ module Truemail
30
30
 
31
31
  def collection_printer(collection)
32
32
  collection.inject([]) { |array, hash| array << printer(hash) }.map.with_index do |item, index|
33
- "\n#{Truemail::Log::Serializer::Text::ATTEMPT}#{index + 1}:\n#{item}\n"
33
+ "\n#{Truemail::Log::Serializer::ValidatorText::ATTEMPT}#{index + 1}:\n#{item}\n"
34
34
  end
35
35
  end
36
36
 
@@ -15,7 +15,7 @@ module Truemail
15
15
  def push(validator_instance)
16
16
  current_event = Truemail::Log::Event.new(event, validator_instance)
17
17
  return unless current_event.valid?
18
- create_logs(current_event.log_level, Truemail::Log::Serializer::Text.call(validator_instance))
18
+ create_logs(current_event.log_level, Truemail::Log::Serializer::ValidatorText.call(validator_instance))
19
19
  end
20
20
 
21
21
  private
@@ -19,6 +19,7 @@ module Truemail
19
19
  private
20
20
 
21
21
  def host_extractor_methods
22
+ return %i[hosts_from_mx_records?] if configuration.not_rfc_mx_lookup_flow
22
23
  %i[hosts_from_mx_records? hosts_from_cname_records? host_from_a_record?]
23
24
  end
24
25
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- class Validator
4
+ class Validator < Truemail::Executor
5
5
  RESULT_ATTRS = %i[success email domain mail_servers errors smtp_debug configuration].freeze
6
6
  VALIDATION_TYPES = %i[regex mx smtp].freeze
7
7
 
@@ -16,7 +16,7 @@ module Truemail
16
16
  alias_method :valid?, :success
17
17
  end
18
18
 
19
- attr_reader :validation_type, :result
19
+ attr_reader :validation_type
20
20
 
21
21
  def initialize(email, with: nil, configuration:)
22
22
  with ||= configuration.default_validation_type
@@ -33,7 +33,7 @@ module Truemail
33
33
  end
34
34
 
35
35
  def as_json
36
- Truemail::Log::Serializer::Json.call(self)
36
+ Truemail::Log::Serializer::ValidatorJson.call(self)
37
37
  end
38
38
 
39
39
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '1.6.0'
4
+ VERSION = '1.9.0'
5
5
  end
@@ -16,6 +16,14 @@ Gem::Specification.new do |spec|
16
16
  spec.homepage = 'https://github.com/rubygarage/truemail'
17
17
  spec.license = 'MIT'
18
18
 
19
+ spec.metadata = {
20
+ 'homepage_uri' => 'https://truemail-rb.org',
21
+ 'changelog_uri' => 'https://github.com/rubygarage/truemail/blob/master/CHANGELOG.md',
22
+ 'source_code_uri' => 'https://github.com/rubygarage/truemail',
23
+ 'documentation_uri' => 'https://truemail-rb.org/truemail-gem/',
24
+ 'bug_tracker_uri' => 'https://github.com/rubygarage/truemail/issues'
25
+ }
26
+
19
27
  spec.required_ruby_version = '>= 2.5.0'
20
28
 
21
29
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -26,18 +34,18 @@ Gem::Specification.new do |spec|
26
34
  spec.add_runtime_dependency 'simpleidn', '~> 0.1.1'
27
35
 
28
36
  spec.add_development_dependency 'bundler', '~> 1.16'
29
- spec.add_development_dependency 'bundler-audit', '~> 0.6.1'
30
- spec.add_development_dependency 'fasterer', '~> 0.8.1'
31
- spec.add_development_dependency 'ffaker', '~> 2.13'
37
+ spec.add_development_dependency 'bundler-audit', '~> 0.7.0.1'
38
+ spec.add_development_dependency 'fasterer', '~> 0.8.3'
39
+ spec.add_development_dependency 'ffaker', '~> 2.17'
32
40
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
33
- spec.add_development_dependency 'overcommit', '~> 0.52.1'
34
- spec.add_development_dependency 'pry-byebug', '~> 3.8'
41
+ spec.add_development_dependency 'overcommit', '~> 0.55.0'
42
+ spec.add_development_dependency 'pry-byebug', '~> 3.9'
35
43
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
36
- spec.add_development_dependency 'reek', '~> 5.6'
44
+ spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.1'
37
45
  spec.add_development_dependency 'rspec', '~> 3.9'
38
- spec.add_development_dependency 'rubocop', '~> 0.79.0'
39
- spec.add_development_dependency 'rubocop-performance', '~> 1.5', '>= 1.5.2'
40
- spec.add_development_dependency 'rubocop-rspec', '~> 1.37', '>= 1.37.1'
46
+ spec.add_development_dependency 'rubocop', '~> 0.89.1'
47
+ spec.add_development_dependency 'rubocop-performance', '~> 1.7', '>= 1.7.1'
48
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.43', '>= 1.43.2'
41
49
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
42
- spec.add_development_dependency 'truemail-rspec', '~> 0.1.1'
50
+ spec.add_development_dependency 'truemail-rspec', '~> 0.2.0'
43
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-01 00:00:00.000000000 Z
11
+ date: 2020-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -44,42 +44,42 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.1
47
+ version: 0.7.0.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.1
54
+ version: 0.7.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: fasterer
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.8.1
61
+ version: 0.8.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.8.1
68
+ version: 0.8.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ffaker
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.13'
75
+ version: '2.17'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.13'
82
+ version: '2.17'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json_matchers
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.52.1
103
+ version: 0.55.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.52.1
110
+ version: 0.55.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry-byebug
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.8'
117
+ version: '3.9'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.8'
124
+ version: '3.9'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -148,14 +148,20 @@ dependencies:
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '5.6'
151
+ version: '6.0'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 6.0.1
152
155
  type: :development
153
156
  prerelease: false
154
157
  version_requirements: !ruby/object:Gem::Requirement
155
158
  requirements:
156
159
  - - "~>"
157
160
  - !ruby/object:Gem::Version
158
- version: '5.6'
161
+ version: '6.0'
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: 6.0.1
159
165
  - !ruby/object:Gem::Dependency
160
166
  name: rspec
161
167
  requirement: !ruby/object:Gem::Requirement
@@ -176,54 +182,54 @@ dependencies:
176
182
  requirements:
177
183
  - - "~>"
178
184
  - !ruby/object:Gem::Version
179
- version: 0.79.0
185
+ version: 0.89.1
180
186
  type: :development
181
187
  prerelease: false
182
188
  version_requirements: !ruby/object:Gem::Requirement
183
189
  requirements:
184
190
  - - "~>"
185
191
  - !ruby/object:Gem::Version
186
- version: 0.79.0
192
+ version: 0.89.1
187
193
  - !ruby/object:Gem::Dependency
188
194
  name: rubocop-performance
189
195
  requirement: !ruby/object:Gem::Requirement
190
196
  requirements:
191
197
  - - "~>"
192
198
  - !ruby/object:Gem::Version
193
- version: '1.5'
199
+ version: '1.7'
194
200
  - - ">="
195
201
  - !ruby/object:Gem::Version
196
- version: 1.5.2
202
+ version: 1.7.1
197
203
  type: :development
198
204
  prerelease: false
199
205
  version_requirements: !ruby/object:Gem::Requirement
200
206
  requirements:
201
207
  - - "~>"
202
208
  - !ruby/object:Gem::Version
203
- version: '1.5'
209
+ version: '1.7'
204
210
  - - ">="
205
211
  - !ruby/object:Gem::Version
206
- version: 1.5.2
212
+ version: 1.7.1
207
213
  - !ruby/object:Gem::Dependency
208
214
  name: rubocop-rspec
209
215
  requirement: !ruby/object:Gem::Requirement
210
216
  requirements:
211
217
  - - "~>"
212
218
  - !ruby/object:Gem::Version
213
- version: '1.37'
219
+ version: '1.43'
214
220
  - - ">="
215
221
  - !ruby/object:Gem::Version
216
- version: 1.37.1
222
+ version: 1.43.2
217
223
  type: :development
218
224
  prerelease: false
219
225
  version_requirements: !ruby/object:Gem::Requirement
220
226
  requirements:
221
227
  - - "~>"
222
228
  - !ruby/object:Gem::Version
223
- version: '1.37'
229
+ version: '1.43'
224
230
  - - ">="
225
231
  - !ruby/object:Gem::Version
226
- version: 1.37.1
232
+ version: 1.43.2
227
233
  - !ruby/object:Gem::Dependency
228
234
  name: simplecov
229
235
  requirement: !ruby/object:Gem::Requirement
@@ -244,14 +250,14 @@ dependencies:
244
250
  requirements:
245
251
  - - "~>"
246
252
  - !ruby/object:Gem::Version
247
- version: 0.1.1
253
+ version: 0.2.0
248
254
  type: :development
249
255
  prerelease: false
250
256
  version_requirements: !ruby/object:Gem::Requirement
251
257
  requirements:
252
258
  - - "~>"
253
259
  - !ruby/object:Gem::Version
254
- version: 0.1.1
260
+ version: 0.2.0
255
261
  description: Configurable framework agnostic plain Ruby email validator. Verify email
256
262
  via Regex, DNS and SMTP.
257
263
  email:
@@ -283,14 +289,19 @@ files:
283
289
  - bin/setup
284
290
  - lib/truemail.rb
285
291
  - lib/truemail/audit/base.rb
292
+ - lib/truemail/audit/dns.rb
293
+ - lib/truemail/audit/ip.rb
286
294
  - lib/truemail/audit/ptr.rb
287
295
  - lib/truemail/auditor.rb
288
296
  - lib/truemail/configuration.rb
289
297
  - lib/truemail/core.rb
298
+ - lib/truemail/executor.rb
290
299
  - lib/truemail/log/event.rb
300
+ - lib/truemail/log/serializer/auditor_json.rb
291
301
  - lib/truemail/log/serializer/base.rb
292
- - lib/truemail/log/serializer/json.rb
293
- - lib/truemail/log/serializer/text.rb
302
+ - lib/truemail/log/serializer/validator_base.rb
303
+ - lib/truemail/log/serializer/validator_json.rb
304
+ - lib/truemail/log/serializer/validator_text.rb
294
305
  - lib/truemail/logger.rb
295
306
  - lib/truemail/validate/base.rb
296
307
  - lib/truemail/validate/domain_list_match.rb
@@ -307,8 +318,13 @@ files:
307
318
  homepage: https://github.com/rubygarage/truemail
308
319
  licenses:
309
320
  - MIT
310
- metadata: {}
311
- post_install_message:
321
+ metadata:
322
+ homepage_uri: https://truemail-rb.org
323
+ changelog_uri: https://github.com/rubygarage/truemail/blob/master/CHANGELOG.md
324
+ source_code_uri: https://github.com/rubygarage/truemail
325
+ documentation_uri: https://truemail-rb.org/truemail-gem/
326
+ bug_tracker_uri: https://github.com/rubygarage/truemail/issues
327
+ post_install_message:
312
328
  rdoc_options: []
313
329
  require_paths:
314
330
  - lib
@@ -323,9 +339,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
323
339
  - !ruby/object:Gem::Version
324
340
  version: '0'
325
341
  requirements: []
326
- rubyforge_project:
327
- rubygems_version: 2.7.9
328
- signing_key:
342
+ rubyforge_project:
343
+ rubygems_version: 2.7.3
344
+ signing_key:
329
345
  specification_version: 4
330
346
  summary: truemail
331
347
  test_files: []