Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Technical/Update gem dependencies #99

Merged
merged 1 commit into from
Oct 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ checks:
plugins:
rubocop:
enabled: true
channel: rubocop-0-91
channel: rubocop-0-93

reek:
enabled: true
9 changes: 9 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ Style/RedundantSelfAssignment:
Style/SoleNestedConditional:
Enabled: true

Style/ClassEqualityComparison:
Enabled: true

Layout/LineLength:
Max: 140

Expand Down Expand Up @@ -212,6 +215,12 @@ Lint/UselessMethodDefinition:
Lint/UselessTimes:
Enabled: true

Lint/HashCompareByIdentity:
Enabled: true

Lint/RedundantSafeNavigation:
Enabled: true

Performance/AncestorsInclude:
Enabled: true

Expand Down
36 changes: 22 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

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).

## [2.0.1] - 2020.10.20

### Changed

- gem development dependencies
- gem documentation

## [2.0.0] - 2020.10.19

### Fixed
Expand All @@ -14,7 +21,7 @@ SMTP connection errors: invalid `HELO` hostname (`localhost`), duplicate `HELO`
- Updated `Truemail::Validate::Smtp::Request#session_data`
- Updated `Truemail::Validate::Smtp::Response`

Now `helo` is a `Boolean` instead of `Net::SMTP::Response` instance. It was changed because `helo` is sending during SMTP-session initializing (`Net::SMTP.new.start`), and `helo` is always `true` if session up is okay. Also `hello` response won't logged as error if it happens. Example of `Truemail::Validate::Smtp::Response` instance from 1.9.3 version.
Now `helo` is a `Boolean` instead of `Net::SMTP::Response` instance. It was changed because `helo` is sending during SMTP-session initializing (`Net::SMTP.new.start`), and `helo` is always `true` if session up is okay. Also `hello` response won't logged as error if it happens. Example of `Truemail::Validate::Smtp::Response` instance from 2.x version.

```ruby
#<struct Truemail::Validate::Smtp::Response:0x00007fa74704cd10
Expand Down Expand Up @@ -379,6 +386,7 @@ Truemail.validate('[email protected]', with: :regex)
smtp_debug=nil>,
@validation_type=:regex>
```

**Email hasn't whitelisted domain**

```ruby
Expand Down Expand Up @@ -406,7 +414,7 @@ Truemail.validate('[email protected]', with: :regex)

- Configurable default validation type, [issue details](https://github.com/truemail-rb/truemail/issues/48)

You can predefine default validation type for ```Truemail.validate('[email protected]')``` call without with-parameter. Available validation types: ```:regex```, ```:mx```, ```:smtp```. By default validation type still remains ```:smtp```
You can predefine default validation type for `Truemail.validate('[email protected]')` call without with-parameter. Available validation types: `:regex`, `:mx`, `:smtp`. By default validation type still remains `:smtp`

```ruby
Truemail.configure do |config|
Expand Down Expand Up @@ -461,7 +469,7 @@ Truemail.validate('[email protected]')

### Added

- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in ```validation_type_for```.
- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in `validation_type_for`.

```ruby
Truemail.configure do |config|
Expand All @@ -484,7 +492,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co

### Removed

- ```:skip``` validation type for ```validation_type_for```
- `:skip` validation type for `validation_type_for`

### Fixed

Expand All @@ -499,7 +507,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co

### Added

- skip validation by domain for validation_type_for configuration option:
- skip validation by domain for `validation_type_for` configuration option:

```ruby
Truemail.configure do |config|
Expand Down Expand Up @@ -581,24 +589,24 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }

### Added

- Retries for ```Truemail::Validate::Smtp``` for cases when one mx server
- Retries for `Truemail::Validate::Smtp` for cases when one mx server

### Changed

- ```Truemail::Configuration``` class, please use ```.connection_attempts``` instead ```.retry_count```
- `Truemail::Configuration` class, please use `.connection_attempts` instead `.retry_count`
- `Truemail::VERSION`
- gem documentation

## [0.1.4] - 2019-04-01

### Added

- Checking A record presence if ```MX``` and ```CNAME``` records not exist, [issue details](https://github.com/truemail-rb/truemail/issues/10)
- Handling of ```CNAME``` records, [issue details](https://github.com/truemail-rb/truemail/issues/11)
- Checking A record if ```MX``` and ```CNAME``` records not found, [issue details](https://github.com/truemail-rb/truemail/issues/12)
- Checking A record presence if `MX` and `CNAME` records not exist, [issue details](https://github.com/truemail-rb/truemail/issues/10)
- Handling of `CNAME` records, [issue details](https://github.com/truemail-rb/truemail/issues/11)
- Checking A record if `MX` and `CNAME` records not found, [issue details](https://github.com/truemail-rb/truemail/issues/12)
- Supporting of multihomed MX records, conversion host names to ips, [issue details](https://github.com/truemail-rb/truemail/issues/17)
- Timeout configuration for DNS resolver, [issue details](https://github.com/truemail-rb/truemail/issues/13)
- ```.valid?``` helper
- `.valid?` helper

### Changed

Expand All @@ -609,14 +617,14 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }

### Added

- Independent domain name extractor to ```Truemail::Validate::Mx#run```
- Independent domain name extractor to `Truemail::Validate::Mx#run`

### Fixed

- Default ```REGEX_EMAIL_PATTERN```, [issue details](https://github.com/truemail-rb/truemail/issues/7)
- Default `REGEX_EMAIL_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/7)
* local part of address can't start with a dot or special symbol
* local part of address can include ```+``` symbol
- Default ```REGEX_DOMAIN_PATTERN```, [issue details](https://github.com/truemail-rb/truemail/issues/8)
- Default `REGEX_DOMAIN_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/8)
* TLD size increased up to 63 characters
- Case sensitive domain names, [issue details](https://github.com/truemail-rb/truemail/issues/9)

Expand Down
32 changes: 16 additions & 16 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -28,33 +28,33 @@ GEM
json_schema (0.20.9)
kwalify (0.7.2)
method_source (1.0.0)
overcommit (0.55.0)
overcommit (0.57.0)
childprocess (>= 0.6.3, < 5)
iniparse (~> 1.4)
parallel (1.19.2)
parser (2.7.1.4)
parser (2.7.2.0)
ast (~> 2.4.1)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.9.0)
byebug (~> 11.0)
pry (~> 0.13.0)
psych (3.1.0)
psych (3.2.0)
rainbow (3.0.0)
rake (13.0.1)
reek (6.0.1)
reek (6.0.2)
kwalify (~> 0.7.0)
parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
psych (~> 3.1.0)
psych (~> 3.1)
rainbow (>= 2.0, < 4.0)
regexp_parser (1.8.0)
regexp_parser (1.8.2)
rexml (3.2.4)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.2)
rspec-core (3.9.3)
rspec-support (~> 3.9.3)
rspec-expectations (3.9.2)
diff-lcs (>= 1.2.0, < 2.0)
Expand All @@ -63,17 +63,17 @@ GEM
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.3)
rubocop (0.91.0)
rubocop (0.93.1)
parallel (~> 1.10)
parser (>= 2.7.1.1)
parser (>= 2.7.1.5)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.7)
regexp_parser (>= 1.8)
rexml
rubocop-ast (>= 0.4.0, < 1.0)
rubocop-ast (>= 0.6.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (0.4.2)
parser (>= 2.7.1.4)
rubocop-ast (0.8.0)
parser (>= 2.7.1.5)
rubocop-performance (1.8.1)
rubocop (>= 0.87.0)
rubocop-ast (>= 0.4.0)
Expand Down Expand Up @@ -108,12 +108,12 @@ DEPENDENCIES
fasterer (~> 0.8.3)
ffaker (~> 2.17)
json_matchers (~> 0.11.1)
overcommit (~> 0.55.0)
overcommit (~> 0.57.0)
pry-byebug (~> 3.9)
rake (~> 13.0, >= 13.0.1)
reek (~> 6.0, >= 6.0.1)
reek (~> 6.0, >= 6.0.2)
rspec (~> 3.9)
rubocop (~> 0.91.0)
rubocop (~> 0.93.1)
rubocop-performance (~> 1.8, >= 1.8.1)
rubocop-rspec (~> 1.43, >= 1.43.2)
simplecov (~> 0.17.1)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ![Truemail - configurable framework agnostic plain Ruby email validator](https://truemail-rb.org/assets/images/truemail_logo.png)

[![Maintainability](https://api.codeclimate.com/v1/badges/0fea6d2e64d78d66b149/maintainability)](https://codeclimate.com/github/truemail-rb/truemail/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/0fea6d2e64d78d66b149/test_coverage)](https://codeclimate.com/github/truemail-rb/truemail/test_coverage) [![CircleCI](https://circleci.com/gh/truemail-rb/truemail/tree/develop.svg?style=svg)](https://circleci.com/gh/truemail-rb/truemail/tree/develop) [![Gem Version](https://badge.fury.io/rb/truemail.svg)](https://badge.fury.io/rb/truemail) [![Downloads](https://img.shields.io/gem/dt/truemail.svg?colorA=004d99&colorB=0073e6)](https://rubygems.org/gems/truemail) [![Gitter](https://badges.gitter.im/truemail-rb/community.svg)](https://gitter.im/truemail-rb/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
[![Maintainability](https://api.codeclimate.com/v1/badges/0fea6d2e64d78d66b149/maintainability)](https://codeclimate.com/github/truemail-rb/truemail/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/0fea6d2e64d78d66b149/test_coverage)](https://codeclimate.com/github/truemail-rb/truemail/test_coverage) [![CircleCI](https://circleci.com/gh/truemail-rb/truemail/tree/master.svg?style=svg)](https://circleci.com/gh/truemail-rb/truemail/tree/master) [![Gem Version](https://badge.fury.io/rb/truemail.svg)](https://badge.fury.io/rb/truemail) [![Downloads](https://img.shields.io/gem/dt/truemail.svg?colorA=004d99&colorB=0073e6)](https://rubygems.org/gems/truemail) [![Gitter](https://badges.gitter.im/truemail-rb/community.svg)](https://gitter.im/truemail-rb/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)

Configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS and SMTP. Be sure that email address valid and exists.

Expand Down
6 changes: 3 additions & 3 deletions truemail.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'fasterer', '~> 0.8.3'
spec.add_development_dependency 'ffaker', '~> 2.17'
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
spec.add_development_dependency 'overcommit', '~> 0.55.0'
spec.add_development_dependency 'overcommit', '~> 0.57.0'
spec.add_development_dependency 'pry-byebug', '~> 3.9'
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.1'
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.2'
spec.add_development_dependency 'rspec', '~> 3.9'
spec.add_development_dependency 'rubocop', '~> 0.91.0'
spec.add_development_dependency 'rubocop', '~> 0.93.1'
spec.add_development_dependency 'rubocop-performance', '~> 1.8', '>= 1.8.1'
spec.add_development_dependency 'rubocop-rspec', '~> 1.43', '>= 1.43.2'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
Expand Down