truemail 1.5.1 → 1.6.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: 1e9e02894c33475d6d0120e3304a15bdd0d1d017458c12af327b595be290ac42
4
- data.tar.gz: 75da2935003cb1fe244083753d1d1b3ea5f935cd1a4511dff45ae97dd99b2140
3
+ metadata.gz: d30a86344d7bc981d3e918faa43537fa37a3acab261cf5d004791084a4c7c4ea
4
+ data.tar.gz: 70360a9cc946ee53a3a5c22652514941ed49a93f5aeedc6f87db8cc9feb606b0
5
5
  SHA512:
6
- metadata.gz: ef2ee9b00968ce13e882ff16b3d73a830ff1d11ba4fdc53d8e4fb318a002fc8103df69c2ac8a27cf181e3dfcb82a6643521809a68a83edfa9fc1b68c6056a7a2
7
- data.tar.gz: 18da4be96e32a657bf2cc00f8b09ea71692ff1e1bbd9042f00ba992e8bee5f1c1e86ce3d07e966c5ffcaf52d0b00e87e86295aefe36e6d4a053473f9851626e1
6
+ metadata.gz: 7b9780a4df12c7f9b33e20e74f7f7e4835ab2dd5bc43213b81314369c644c413e4f4a293069705f0c968d634d9051e935844db19e08f7795807aef4701a192a6
7
+ data.tar.gz: 38adc27351a202244ab7f05cb4dbb1500dece6bbba5f358ebb06613a873531ff8799418d3b4da103c97ffc99800534fbe7a647de91a49fb36a4f830bfc398cdb
@@ -1,6 +1,14 @@
1
1
  # Changelog
2
2
  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).
3
3
 
4
+ ## [1.6.0] - 2020-02-01
5
+ ### Added
6
+ - Possibility to use `Truemail::Validator` instance represented as json directly
7
+
8
+ ### Changed
9
+ - gem development dependencies
10
+ - gem documentation
11
+
4
12
  ## [1.5.1] - 2020-01-20
5
13
  ### Changed
6
14
  - gem development dependencies
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- truemail (1.5.1)
4
+ truemail (1.6.0)
5
5
  simpleidn (~> 0.1.1)
6
6
 
7
7
  GEM
@@ -15,7 +15,7 @@ GEM
15
15
  bundler-audit (0.6.1)
16
16
  bundler (>= 1.2.0, < 3)
17
17
  thor (~> 0.18)
18
- byebug (11.1.0)
18
+ byebug (11.1.1)
19
19
  childprocess (3.0.0)
20
20
  codeclimate-engine-rb (0.4.1)
21
21
  virtus (~> 1.0)
@@ -50,7 +50,7 @@ GEM
50
50
  pry (0.12.2)
51
51
  coderay (~> 1.1.0)
52
52
  method_source (~> 0.9.0)
53
- pry-byebug (3.7.0)
53
+ pry-byebug (3.8.0)
54
54
  byebug (~> 11.0)
55
55
  pry (~> 0.10)
56
56
  psych (3.1.0)
@@ -122,7 +122,7 @@ DEPENDENCIES
122
122
  ffaker (~> 2.13)
123
123
  json_matchers (~> 0.11.1)
124
124
  overcommit (~> 0.52.1)
125
- pry-byebug (~> 3.7)
125
+ pry-byebug (~> 3.8)
126
126
  rake (~> 13.0, >= 13.0.1)
127
127
  reek (~> 5.6)
128
128
  rspec (~> 3.9)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # <img src='https://repository-images.githubusercontent.com/173723932/6dffee00-e88e-11e9-94b6-c97aacc0df00' height='250' alt='Truemail - configurable framework agnostic plain Ruby email validator' />
2
2
 
3
- [![Maintainability](https://api.codeclimate.com/v1/badges/657aa241399927dcd2e2/maintainability)](https://codeclimate.com/github/rubygarage/truemail/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/657aa241399927dcd2e2/test_coverage)](https://codeclimate.com/github/rubygarage/truemail/test_coverage) [![CircleCI](https://circleci.com/gh/rubygarage/truemail/tree/master.svg?style=svg)](https://circleci.com/gh/rubygarage/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) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
3
+ [![Maintainability](https://api.codeclimate.com/v1/badges/657aa241399927dcd2e2/maintainability)](https://codeclimate.com/github/rubygarage/truemail/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/657aa241399927dcd2e2/test_coverage)](https://codeclimate.com/github/rubygarage/truemail/test_coverage) [![CircleCI](https://circleci.com/gh/rubygarage/truemail/tree/master.svg?style=svg)](https://circleci.com/gh/rubygarage/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)
4
4
 
5
5
  Configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS and SMTP. Be sure that email address valid and exists.
6
6
 
@@ -36,6 +36,7 @@ Configurable framework agnostic plain Ruby email validator. Verify email via Reg
36
36
  - [PTR audit](#ptr-audit)
37
37
  - [Truemail helpers](#truemail-helpers)
38
38
  - [.valid?](#valid)
39
+ - [#as_json](#as_json)
39
40
  - [Test environment](#test-environment)
40
41
  - [Truemail family](#truemail-family)
41
42
  - [Contributing](#contributing)
@@ -928,7 +929,7 @@ Truemail.host_audit
928
929
 
929
930
  #### .valid?
930
931
 
931
- You can use the ```.valid?``` helper for quick validation of email address. It returns a boolean:
932
+ You can use the `.valid?` helper for quick validation of email address. It returns a boolean:
932
933
 
933
934
  ```ruby
934
935
  # It is shortcut for Truemail.validate('email@example.com').result.valid?
@@ -936,6 +937,45 @@ Truemail.valid?('email@example.com')
936
937
  => true
937
938
  ```
938
939
 
940
+ #### #as_json
941
+
942
+ You can use `#as_json` helper for represent `Truemail::Validator` instance as json. Under the hood it uses internal json serializer [`Truemail::Log::Serializer::Json`](#json-serializer):
943
+
944
+ ```ruby
945
+ Truemail.validate('nonexistent_email@bestweb.com.ua').as_json
946
+
947
+ =>
948
+ # Serialized Truemail::Validator instance
949
+ {
950
+ "date": "2020-02-01 10:00:00 +0200",
951
+ "email": "nonexistent_email@bestweb.com.ua",
952
+ "validation_type": "smtp",
953
+ "success": false,
954
+ "errors": {
955
+ "smtp": "smtp error"
956
+ },
957
+ "smtp_debug": [
958
+ {
959
+ "mail_host": "213.180.193.89",
960
+ "port_opened": true,
961
+ "connection": true,
962
+ "errors": {
963
+ "rcptto": "550 5.7.1 No such user!\n"
964
+ }
965
+ }
966
+ ],
967
+ "configuration": {
968
+ "validation_type_by_domain": null,
969
+ "whitelist_validation": false,
970
+ "whitelisted_domains": null,
971
+ "blacklisted_domains": null,
972
+ "smtp_safe_check": false,
973
+ "email_pattern": "default gem value",
974
+ "smtp_error_body_pattern": "default gem value"
975
+ }
976
+ }
977
+ ```
978
+
939
979
  ### Test environment
940
980
 
941
981
  You can stub out that validation for your test environment. Just add RSpec before action:
@@ -32,6 +32,10 @@ module Truemail
32
32
  self
33
33
  end
34
34
 
35
+ def as_json
36
+ Truemail::Log::Serializer::Json.call(self)
37
+ end
38
+
35
39
  private
36
40
 
37
41
  def select_validation_type(email, current_validation_type)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truemail
4
- VERSION = '1.5.1'
4
+ VERSION = '1.6.0'
5
5
  end
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'ffaker', '~> 2.13'
32
32
  spec.add_development_dependency 'json_matchers', '~> 0.11.1'
33
33
  spec.add_development_dependency 'overcommit', '~> 0.52.1'
34
- spec.add_development_dependency 'pry-byebug', '~> 3.7'
34
+ spec.add_development_dependency 'pry-byebug', '~> 3.8'
35
35
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
36
36
  spec.add_development_dependency 'reek', '~> 5.6'
37
37
  spec.add_development_dependency 'rspec', '~> 3.9'
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: 1.5.1
4
+ version: 1.6.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: 2020-01-20 00:00:00.000000000 Z
11
+ date: 2020-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simpleidn
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.7'
117
+ version: '3.8'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.7'
124
+ version: '3.8'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement