truemail 3.1.1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []