truemail-rspec 0.9.2 → 1.0.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: c2faac1f1dcb4dd429c9cd3854f899b7f1f569449a0027783ebf3d927515d0ba
4
- data.tar.gz: b83a0f7f733887075e36676c8ab7336f08f505e8334b07cc26d80b97bac7f73d
3
+ metadata.gz: 8ebf85309e59ff11f0a9bbb91765f27fb18d434174e0957a90e020b273070fa9
4
+ data.tar.gz: 5c930279fb803f145eb4cf6696a0e120e15de41cfff0bb9943a65a1e9c7ec77a
5
5
  SHA512:
6
- metadata.gz: 3ea23929d026d4287d03ba1c09e03e3a000574181a495e284ab6adda5afdeb322929cbc4fac1722381276cf23d70794197f35612241a5b763793efc0b93ccc77
7
- data.tar.gz: f799058f2e8689d8aa575a99117b62b8939336391f308a051df094d31cb5af9bafa2e3822047598aa10fbf40533c42f86e5654abf0ff151a9c52234b40d3f82b
6
+ metadata.gz: 50675d24c85368c6937b0054361f3b5d4ef3b881a548b0321ce47972935a6dc0d35e50a932e55ccd9dd4d36be3d6b8548081a6302700117f3cbf1586d6c17e91
7
+ data.tar.gz: 405fd4652c5ceebdc7c2f94fe9bf5445477805c35edfc85ae12f00ddd8fa92665484ee28ee151cde6273989d417c1184579c298e50ffb76237bcd4411d463410
data/.circleci/config.yml CHANGED
@@ -115,7 +115,7 @@ jobs:
115
115
  - checkout
116
116
  - <<: *use_compatible_gemspec
117
117
  - ruby/install-deps:
118
- bundler-version: "2.3.23"
118
+ bundler-version: "2.3.24"
119
119
  with-cache: false
120
120
  path: './vendor/custom_bundle'
121
121
  - run:
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  spec.add_runtime_dependency 'ffaker', '~> 2.21'
33
33
  spec.add_runtime_dependency 'rspec', '~> 3.11'
34
- spec.add_runtime_dependency 'truemail', '~> 2.7', '>= 2.7.4'
34
+ spec.add_runtime_dependency 'truemail', '~> 3.0'
35
35
 
36
36
  spec.add_development_dependency 'ffaker', '~> 2.21'
37
37
  spec.add_development_dependency 'pry-byebug', '~> 3.9'
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency 'ffaker', '~> 2.21'
33
33
  spec.add_runtime_dependency 'net-smtp', '~> 0.3.2'
34
34
  spec.add_runtime_dependency 'rspec', '~> 3.11'
35
- spec.add_runtime_dependency 'truemail', '~> 2.7', '>= 2.7.4'
35
+ spec.add_runtime_dependency 'truemail', '~> 3.0'
36
36
 
37
37
  spec.add_development_dependency 'bundler-audit', '~> 0.9.1'
38
38
  spec.add_development_dependency 'fasterer', '~> 0.10.0'
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
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
44
  spec.add_development_dependency 'rspec', '~> 3.11'
45
- spec.add_development_dependency 'rubocop', '~> 1.36'
45
+ spec.add_development_dependency 'rubocop', '~> 1.37'
46
46
  spec.add_development_dependency 'rubocop-performance', '~> 1.15'
47
47
  spec.add_development_dependency 'rubocop-rspec', '~> 2.13', '>= 2.13.2'
48
48
  spec.add_development_dependency 'simplecov', '~> 0.21.2'
data/.codeclimate.yml CHANGED
@@ -7,7 +7,7 @@ checks:
7
7
  plugins:
8
8
  rubocop:
9
9
  enabled: true
10
- channel: rubocop-1-36
10
+ channel: rubocop-1-37
11
11
 
12
12
  reek:
13
13
  enabled: true
data/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
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
+ ## [1.0.0] - 2022-10-25
6
+
7
+ ### Added
8
+
9
+ - Ability to create `Truemail::Validator` instance for `Whitelist/Blacklist` validation layer
10
+
11
+ ### Updated
12
+
13
+ - Updated `Truemail::RSpec::ValidatorHelper::ValidatorFactory#process_validator_params`, tests
14
+ - Updated gem runtime dependencies
15
+ - Updated gem development dependencies
16
+ - Updated gem readme, gem version
17
+
5
18
  ## [0.9.2] - 2022-10-09
6
19
 
7
20
  ### Updated
data/README.md CHANGED
@@ -129,7 +129,7 @@ create_servers_list(42) # => returns array with 42 random ip addresses
129
129
 
130
130
  ```ruby
131
131
  create_validator(
132
- validation_type, # optional, type:Symbol, can be :whitelist, :regex, :mx, :mx_blacklist or :smtp, by default creates :smtp validation
132
+ validation_type, # optional, type:Symbol, can be :emails_list, :domains_list, :regex, :mx, :mx_blacklist or :smtp, by default creates :smtp validation
133
133
  email, # optional, type:String, by default random email
134
134
  mail_servers, # optional, type:Array(String), by default array with random ip addresses
135
135
  success: true, # optional, type:Bool, by default true
@@ -3,6 +3,8 @@
3
3
  module Truemail
4
4
  module RSpec
5
5
  module ValidatorHelper
6
+ VALIDATION_LIST_TYPE_REGEX_PATTERN = /(emails|domains)(_list)/.freeze
7
+
6
8
  def create_servers_list(size = nil)
7
9
  ::Array.new(size || ::Random.rand(1..4)) { ::FFaker::Internet.ip_v4_address }
8
10
  end
@@ -122,13 +124,15 @@ module Truemail
122
124
  attr_reader :success, :email, :mail_servers, :configuration
123
125
  attr_accessor :validation_type
124
126
 
125
- def process_validator_params
127
+ def process_validator_params # rubocop:disable Metrics/AbcSize
126
128
  case validation_type
127
- when :whitelist
129
+ when Truemail::RSpec::ValidatorHelper::VALIDATION_LIST_TYPE_REGEX_PATTERN
130
+ list_type = validation_type[Truemail::RSpec::ValidatorHelper::VALIDATION_LIST_TYPE_REGEX_PATTERN, 1]
128
131
  self.validation_type = nil
129
- method = success ? :whitelisted_domains : :blacklisted_domains
130
- domain = email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
131
- configuration.tap { |config| config.public_send(method) << domain }
132
+ method = success ? :"whitelisted_#{list_type}" : :"blacklisted_#{list_type}"
133
+ configuration.tap do |config|
134
+ config.public_send(method) << (list_type.eql?('emails') ? email : email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3])
135
+ end
132
136
  when :mx_blacklist
133
137
  configuration.blacklisted_mx_ip_addresses.push(*mail_servers) unless success
134
138
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Truemail
4
4
  module RSpec
5
- VERSION = '0.9.2'
5
+ VERSION = '1.0.0'
6
6
  end
7
7
  end
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency 'ffaker', '~> 2.21'
33
33
  spec.add_runtime_dependency 'net-smtp', '~> 0.3.2' if ::RUBY_VERSION >= '3.1.0'
34
34
  spec.add_runtime_dependency 'rspec', '~> 3.11'
35
- spec.add_runtime_dependency 'truemail', '~> 2.7', '>= 2.7.4'
35
+ spec.add_runtime_dependency 'truemail', '~> 3.0'
36
36
 
37
37
  spec.add_development_dependency 'ffaker', '~> 2.21'
38
38
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 1.0.0
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-09 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffaker
@@ -44,20 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.7'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 2.7.4
47
+ version: '3.0'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
54
51
  requirements:
55
52
  - - "~>"
56
53
  - !ruby/object:Gem::Version
57
- version: '2.7'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 2.7.4
54
+ version: '3.0'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: ffaker
63
57
  requirement: !ruby/object:Gem::Requirement