truemail 3.0.0 → 3.0.1

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: 5aaf968788710bfc570f154269d75830058841b3936b542246de4557be3b4727
4
- data.tar.gz: 3ebe69aa575bc2eb84e277c7ee77bdf055ff112597926e167db84903fb4a7ad4
3
+ metadata.gz: 14cf6d4a2b730702849ca49317fdb3a054562f3e41de01b4e88737dc1da09ff8
4
+ data.tar.gz: b07cf758750e1532189f57e88ba61b06f4a2c5b9c570f76187c52d2e38c1e2f6
5
5
  SHA512:
6
- metadata.gz: f6e6941d7990f128258308bcf24205162fc968c3c03a74f451c765059b53a3ded73ea0ef7a545edd36456d93f0318f66b016640b2c02986f8c0b117ed8ab28b1
7
- data.tar.gz: 516f7151529e111845044c8c3c238b549d4fc989d460f6568e9a2f1586d083f4d355b53d0dc939a3f2d714dc4834fe920eab1bba31d287abd57a43d8fc223f80
6
+ metadata.gz: 665f453be4cd3bfbc10a66dfce4cc41b842ef1e36fdd22f8aacbe2def6f1ca542043647f528910320fa498d10c31cabc86d74b9fb5a8f5f4d79b6b02ae34eff6
7
+ data.tar.gz: 7f229a5a880117b42d7a070a83d5040e147402db193139929ea192f0451e2c7934f81b048146ed79369a2b0d985dab2f82dd80ee750f58ae452472254a2ddf95
data/.circleci/config.yml CHANGED
@@ -6,7 +6,7 @@ defaults: &defaults
6
6
  - image: cimg/ruby:<< parameters.ruby-version >>
7
7
 
8
8
  orbs:
9
- ruby: circleci/ruby@1.8.0
9
+ ruby: circleci/ruby@2.0.0
10
10
 
11
11
  references:
12
12
  restore_bundle_cache: &restore_bundle_cache
@@ -35,8 +35,8 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency 'ffaker', '~> 2.21'
36
36
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
37
37
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
38
- spec.add_development_dependency 'rspec', '~> 3.11'
38
+ spec.add_development_dependency 'rspec', '~> 3.12'
39
39
  spec.add_development_dependency 'smtp_mock', '~> 1.2', '>= 1.2.2'
40
- spec.add_development_dependency 'truemail-rspec', '~> 0.9.2'
40
+ spec.add_development_dependency 'truemail-rspec', '~> 1.0'
41
41
  spec.add_development_dependency 'webmock', '~> 3.18', '>= 3.18.1'
42
42
  end
@@ -41,12 +41,12 @@ Gem::Specification.new do |spec|
41
41
  spec.add_development_dependency 'pry-byebug', '~> 3.10', '>= 3.10.1'
42
42
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
43
43
  spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.1'
44
- spec.add_development_dependency 'rspec', '~> 3.11'
45
- spec.add_development_dependency 'rubocop', '~> 1.37'
44
+ spec.add_development_dependency 'rspec', '~> 3.12'
45
+ spec.add_development_dependency 'rubocop', '~> 1.37', '>= 1.37.1'
46
46
  spec.add_development_dependency 'rubocop-performance', '~> 1.15'
47
- spec.add_development_dependency 'rubocop-rspec', '~> 2.13', '>= 2.13.2'
47
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.14', '>= 2.14.2'
48
48
  spec.add_development_dependency 'simplecov', '~> 0.21.2'
49
49
  spec.add_development_dependency 'smtp_mock', '~> 1.2', '>= 1.2.2'
50
- spec.add_development_dependency 'truemail-rspec', '~> 0.9.2'
50
+ spec.add_development_dependency 'truemail-rspec', '~> 1.0'
51
51
  spec.add_development_dependency 'webmock', '~> 3.18', '>= 3.18.1'
52
52
  end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## [3.0.1] - 2022.11.01
6
+
7
+ ### Fixed
8
+
9
+ - Fixed wrong semantic version comparison in gemspec runtime dependency definition
10
+
11
+ ### Updated
12
+
13
+ - Updated RSpec helpers
14
+ - Updated gemspecs, circleci config
15
+ - Updated gem version
16
+
5
17
  ## [3.0.0] - 2022.10.24
6
18
 
7
19
  ### Added
data/README.md CHANGED
@@ -1451,6 +1451,56 @@ Truemail.configure do |config|
1451
1451
  end
1452
1452
  ```
1453
1453
 
1454
+ Or you can use end-to-end approach and mock DNS and SMTP services with [`dns_mock`](https://github.com/mocktools/ruby-dns-mock), [`smtp_mock`](https://github.com/mocktools/ruby-smtp-mock) for your test environment like in example below:
1455
+
1456
+ ```ruby
1457
+ # Gemfile
1458
+
1459
+ group :test do
1460
+ gem 'dns_mock', require: false
1461
+ gem 'smtp_mock', require: false
1462
+ end
1463
+
1464
+ # spec/spec_helper.rb
1465
+
1466
+ require 'dns_mock/test_framework/rspec'
1467
+ require 'smtp_mock/test_framework/rspec'
1468
+
1469
+ RSpec.configure do |config|
1470
+ config.include DnsMock::TestFramework::RSpec::Helper
1471
+ config.include SmtpMock::TestFramework::RSpec::Helper
1472
+ end
1473
+
1474
+ # spec/integration_spec.rb
1475
+
1476
+ RSpec.describe 'integration tests' do
1477
+ let(:target_email) { random_email }
1478
+ let(:dns_mock_records) { dns_mock_records_by_email(target_email, dimension: 2) }
1479
+
1480
+ before do
1481
+ dns_mock_server.assign_mocks(dns_mock_records)
1482
+ smtp_mock_server(**smtp_mock_server_options)
1483
+
1484
+ Truemail.configuration.tap do |config|
1485
+ config.dns = %W[127.0.0.1:#{dns_mock_server.port}]
1486
+ config.smtp_port = smtp_mock_server.port
1487
+ end
1488
+ end
1489
+
1490
+ context 'when checks real email' do
1491
+ let(:smtp_mock_server_options) { {} }
1492
+
1493
+ it { expect(Truemail.validate(target_email).result).to be_valid }
1494
+ end
1495
+
1496
+ context 'when checks fake email' do
1497
+ let(:smtp_mock_server_options) { { not_registered_emails: [target_email] } }
1498
+
1499
+ it { expect(Truemail.validate(target_email).result).not_to be_valid }
1500
+ end
1501
+ end
1502
+ ```
1503
+
1454
1504
  ---
1455
1505
 
1456
1506
  ## Truemail family
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '3.0.0'
4
+ VERSION = '3.0.1'
5
5
  end
data/truemail.gemspec CHANGED
@@ -29,15 +29,15 @@ Gem::Specification.new do |spec|
29
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
30
30
  spec.require_paths = ['lib']
31
31
 
32
- spec.add_runtime_dependency 'net-smtp', '~> 0.3.2' if ::RUBY_VERSION >= '3.1.0'
32
+ spec.add_runtime_dependency 'net-smtp', '~> 0.3.2' if ::Gem::Version.new(::RUBY_VERSION) >= ::Gem::Version.new('3.1.0')
33
33
  spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
34
34
 
35
35
  spec.add_development_dependency 'dns_mock', '~> 1.5', '>= 1.5.5'
36
36
  spec.add_development_dependency 'ffaker', '~> 2.21'
37
37
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
38
38
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
39
- spec.add_development_dependency 'rspec', '~> 3.11'
39
+ spec.add_development_dependency 'rspec', '~> 3.12'
40
40
  spec.add_development_dependency 'smtp_mock', '~> 1.2', '>= 1.2.2'
41
- spec.add_development_dependency 'truemail-rspec', '~> 0.9.2'
41
+ spec.add_development_dependency 'truemail-rspec', '~> 1.0'
42
42
  spec.add_development_dependency 'webmock', '~> 3.18', '>= 3.18.1'
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.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-24 00:00:00.000000000 Z
11
+ date: 2022-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -98,14 +98,14 @@ dependencies:
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: '3.11'
101
+ version: '3.12'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: '3.11'
108
+ version: '3.12'
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: smtp_mock
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -132,14 +132,14 @@ dependencies:
132
132
  requirements:
133
133
  - - "~>"
134
134
  - !ruby/object:Gem::Version
135
- version: 0.9.2
135
+ version: '1.0'
136
136
  type: :development
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  requirements:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: 0.9.2
142
+ version: '1.0'
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: webmock
145
145
  requirement: !ruby/object:Gem::Requirement