truemail 3.1.1 → 3.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: b7fb527768d1e1e2c6d057ce317ae5ff1f7b9cc69fcea9e34f26ce9e42b338ca
4
- data.tar.gz: 376a438b05ef77e24a866f5c8d69d7f494d795e98b8c1667c53b601b4ca62226
3
+ metadata.gz: eaf56f1be4d147276a83807c713461d7bc2d4bedb009a0323fa3a38b7fd82829
4
+ data.tar.gz: cb914e607e6a0182d7550a0fa0d8de7783c79763809019d4e706a6207daabc39
5
5
  SHA512:
6
- metadata.gz: 1e049ae867d6232612e4c574bf8eb7db7f938ebd0965e6ed8a2c536c236ab78ce090cf29e9c23c3e608e416a4678aa713c3087a969ecae14c049f9f18c8b4d3b
7
- data.tar.gz: f91b251d690710c2376337fbc977b4038d3ba3591106789fdd31b03d43d9d19db677127722df57412451556427156f1ccaed2dba9116305df79a6d5274a182e9
6
+ metadata.gz: c2fdf6d58ca54b4c2a25eea14e6769277b16cfc24b32709d0195ef0fa29ac13d71c19717f0f8d4f5626e7c9348815307f7fa7d0238f0feeb5076fd6314fd00e6
7
+ data.tar.gz: 0a3b9b4ec3fa36fd3a73353d651d5e9af664d5ebd030ab72a3942a24b9e7d1590dddaf569a3b3b83c36a3c83926fef1fb0c3c1fbdab19f7e7de7d1e5827d5ba4
@@ -2,12 +2,19 @@
2
2
 
3
3
  module Truemail
4
4
  class Configuration
5
+ require 'logger'
6
+
5
7
  DEFAULT_CONNECTION_TIMEOUT = 2
6
8
  DEFAULT_RESPONSE_TIMEOUT = 2
7
9
  DEFAULT_CONNECTION_ATTEMPTS = 2
8
10
  DEFAULT_VALIDATION_TYPE = :smtp
9
11
  DEFAULT_SMTP_PORT = 25
10
- DEFAULT_LOGGER_OPTIONS = { tracking_event: :error, stdout: false, log_absolute_path: nil }.freeze
12
+ DEFAULT_LOGGER_OPTIONS = {
13
+ logger_class: ::Logger,
14
+ tracking_event: :error,
15
+ stdout: false,
16
+ log_absolute_path: nil
17
+ }.freeze
11
18
  SETTERS = %i[
12
19
  email_pattern
13
20
  smtp_error_body_pattern
@@ -75,15 +82,17 @@ module Truemail
75
82
  end
76
83
  end
77
84
 
78
- def logger=(options)
79
- tracking_event, stdout, log_absolute_path = logger_options(options)
85
+ def logger=(options) # rubocop:disable Metrics/AbcSize
86
+ raise_unless(options, __method__, options.is_a?(::Hash))
87
+ logger_class, tracking_event, stdout, log_absolute_path = logger_options(options)
88
+ raise_unless(logger_class, __method__, logger_class.is_a?(::Class))
80
89
  valid_event = Truemail::Log::Event::TRACKING_EVENTS.key?(tracking_event)
81
90
  stdout_only = stdout && log_absolute_path.nil?
82
91
  file_only = log_absolute_path.is_a?(::String)
83
92
  both_types = stdout && file_only
84
93
  argument_info = valid_event ? log_absolute_path : tracking_event
85
94
  raise_unless(argument_info, __method__, valid_event && (stdout_only || file_only || both_types))
86
- @logger = Truemail::Logger.new(tracking_event, stdout, log_absolute_path)
95
+ @logger = Truemail::Logger.new(logger_class, tracking_event, stdout, log_absolute_path)
87
96
  end
88
97
 
89
98
  def complete?
@@ -2,11 +2,10 @@
2
2
 
3
3
  module Truemail
4
4
  class Logger
5
- require 'logger'
5
+ attr_reader :logger_class, :event, :stdout, :file
6
6
 
7
- attr_reader :event, :stdout, :file
8
-
9
- def initialize(event, error_stdout, log_absolute_path)
7
+ def initialize(logger_class, event, error_stdout, log_absolute_path)
8
+ @logger_class = logger_class
10
9
  @event = event
11
10
  @stdout = error_stdout
12
11
  @file = log_absolute_path
@@ -30,7 +29,7 @@ module Truemail
30
29
  def create_logs(log_level, serialized_object)
31
30
  %i[stdout file].each do |output_type|
32
31
  next unless public_send(output_type)
33
- ::Logger.new(output_type.eql?(:stdout) ? $stdout : init_log_file).add(log_level) { serialized_object }
32
+ logger_class.new(output_type.eql?(:stdout) ? $stdout : init_log_file).add(log_level) { serialized_object }
34
33
  end
35
34
  end
36
35
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '3.1.1'
4
+ VERSION = '3.2.0'
5
5
  end
data/truemail.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ['Vladislav Trotsenko']
9
9
  spec.email = %w[admin@bestweb.com.ua]
10
10
 
11
- spec.summary = %(truemail)
11
+ spec.summary = %(Configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS, SMTP and even more)
12
12
  spec.description = %(Configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS, SMTP and even more.)
13
13
 
14
14
  spec.homepage = 'https://github.com/truemail-rb/truemail'
@@ -32,12 +32,12 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency 'net-smtp', '~> 0.4.0.1' if current_ruby_version >= ::Gem::Version.new('3.1.0')
33
33
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
34
34
 
35
- spec.add_development_dependency 'dns_mock', '~> 1.6', '>= 1.6.1'
35
+ spec.add_development_dependency 'dns_mock', '~> 1.6', '>= 1.6.2'
36
36
  spec.add_development_dependency 'ffaker', ffaker_version
37
37
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
38
38
  spec.add_development_dependency 'rake', '~> 13.1'
39
- spec.add_development_dependency 'rspec', '~> 3.12'
40
- spec.add_development_dependency 'smtp_mock', '~> 1.3', '>= 1.3.6'
41
- spec.add_development_dependency 'truemail-rspec', '~> 1.2'
42
- spec.add_development_dependency 'webmock', '~> 3.19', '>= 3.19.1'
39
+ spec.add_development_dependency 'rspec', '~> 3.13'
40
+ spec.add_development_dependency 'smtp_mock', '~> 1.4'
41
+ spec.add_development_dependency 'truemail-rspec', '~> 1.3', '>= 1.3.1'
42
+ spec.add_development_dependency 'webmock', '~> 3.20'
43
43
  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: 3.1.1
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-27 00:00:00.000000000 Z
11
+ date: 2024-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '1.6'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.6.1
36
+ version: 1.6.2
37
37
  type: :development
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '1.6'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.6.1
46
+ version: 1.6.2
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ffaker
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -92,68 +92,62 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.12'
95
+ version: '3.13'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '3.12'
102
+ version: '3.13'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: smtp_mock
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '1.3'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 1.3.6
109
+ version: '1.4'
113
110
  type: :development
114
111
  prerelease: false
115
112
  version_requirements: !ruby/object:Gem::Requirement
116
113
  requirements:
117
114
  - - "~>"
118
115
  - !ruby/object:Gem::Version
119
- version: '1.3'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 1.3.6
116
+ version: '1.4'
123
117
  - !ruby/object:Gem::Dependency
124
118
  name: truemail-rspec
125
119
  requirement: !ruby/object:Gem::Requirement
126
120
  requirements:
127
121
  - - "~>"
128
122
  - !ruby/object:Gem::Version
129
- version: '1.2'
123
+ version: '1.3'
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 1.3.1
130
127
  type: :development
131
128
  prerelease: false
132
129
  version_requirements: !ruby/object:Gem::Requirement
133
130
  requirements:
134
131
  - - "~>"
135
132
  - !ruby/object:Gem::Version
136
- version: '1.2'
133
+ version: '1.3'
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 1.3.1
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: webmock
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: '3.19'
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: 3.19.1
143
+ version: '3.20'
147
144
  type: :development
148
145
  prerelease: false
149
146
  version_requirements: !ruby/object:Gem::Requirement
150
147
  requirements:
151
148
  - - "~>"
152
149
  - !ruby/object:Gem::Version
153
- version: '3.19'
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: 3.19.1
150
+ version: '3.20'
157
151
  description: Configurable framework agnostic plain Ruby email validator. Verify email
158
152
  via Regex, DNS, SMTP and even more.
159
153
  email:
@@ -225,5 +219,6 @@ requirements: []
225
219
  rubygems_version: 3.2.15
226
220
  signing_key:
227
221
  specification_version: 4
228
- summary: truemail
222
+ summary: Configurable framework agnostic plain Ruby email validator. Verify email
223
+ via Regex, DNS, SMTP and even more
229
224
  test_files: []