zerobounce-sdk 2.1.1 → 2.1.5
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 +4 -4
- data/.github/workflows/codeql.yml +2 -2
- data/.github/workflows/publish.yml +131 -0
- data/Gemfile.lock +10 -5
- data/lib/zerobounce/version.rb +1 -1
- data/lib/zerobounce.rb +2 -0
- data/zerobounce.gemspec +4 -2
- metadata +39 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 44fc864c3ea69f43eba002059c8e7128f6a439d049caf450bf8770b4bfb9f34d
|
|
4
|
+
data.tar.gz: 70266484e92db7d57f8b88def1af9e9fe742337a1be22d0485e57f71dc39b84e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 985c43549117d70683419f9da48e468c3eb3464393f137b21a6beedaac3016aa3ea4c736e7e5fa818b50e447189084b4fe12824eb91e1784499014a052755ebc
|
|
7
|
+
data.tar.gz: b640d1c5485e68fc209a87f16b92e9a1740f36514e23eb38aa679176e2d6b49b55036296bb81e4e27af5bfe94860a6facd2e8ce13c61acafe8a30d52e9ce5087
|
|
@@ -71,7 +71,7 @@ jobs:
|
|
|
71
71
|
|
|
72
72
|
# Initializes the CodeQL tools for scanning.
|
|
73
73
|
- name: Initialize CodeQL
|
|
74
|
-
uses: github/codeql-action/init@v4
|
|
74
|
+
uses: github/codeql-action/init@v4.35.4
|
|
75
75
|
with:
|
|
76
76
|
languages: ${{ matrix.language }}
|
|
77
77
|
build-mode: ${{ matrix.build-mode }}
|
|
@@ -100,6 +100,6 @@ jobs:
|
|
|
100
100
|
exit 1
|
|
101
101
|
|
|
102
102
|
- name: Perform CodeQL Analysis
|
|
103
|
-
uses: github/codeql-action/analyze@v4
|
|
103
|
+
uses: github/codeql-action/analyze@v4.35.4
|
|
104
104
|
with:
|
|
105
105
|
category: "/language:${{matrix.language}}"
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
tag:
|
|
7
|
+
type: string
|
|
8
|
+
description: Tag to publish (e.g. v2.1.5)
|
|
9
|
+
required: true
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
validate-tag:
|
|
16
|
+
name: Validate tag
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v6
|
|
21
|
+
with:
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
ref: ${{ github.event.inputs.tag }}
|
|
24
|
+
|
|
25
|
+
- name: Verify tag and gem version
|
|
26
|
+
run: |
|
|
27
|
+
TAG="${{ github.event.inputs.tag }}"
|
|
28
|
+
if [ -z "$TAG" ]; then
|
|
29
|
+
echo "Error: Tag is required."
|
|
30
|
+
exit 1
|
|
31
|
+
fi
|
|
32
|
+
if ! git rev-parse "$TAG" >/dev/null 2>&1; then
|
|
33
|
+
echo "Error: Tag '$TAG' does not exist."
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
TAG_VERSION="${TAG#v}"
|
|
37
|
+
PKG_VERSION=$(grep -E "VERSION\s*=" lib/zerobounce/version.rb | sed -E "s/.*'([^']+)'.*/\1/")
|
|
38
|
+
if [ -z "$PKG_VERSION" ]; then
|
|
39
|
+
echo "Error: Could not read version from lib/zerobounce/version.rb"
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
if [ "$PKG_VERSION" != "$TAG_VERSION" ]; then
|
|
43
|
+
echo "Error: lib/zerobounce/version.rb ($PKG_VERSION) does not match tag ($TAG)."
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
echo "Publishing tag: $TAG (zerobounce-sdk@$PKG_VERSION)"
|
|
47
|
+
|
|
48
|
+
test:
|
|
49
|
+
name: Test
|
|
50
|
+
needs: [validate-tag]
|
|
51
|
+
if: ${{ !cancelled() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
|
|
52
|
+
runs-on: ubuntu-latest
|
|
53
|
+
env:
|
|
54
|
+
ZEROBOUNCE_API_KEY: "invalid_key_for_tests"
|
|
55
|
+
steps:
|
|
56
|
+
- name: Checkout tag
|
|
57
|
+
uses: actions/checkout@v6
|
|
58
|
+
with:
|
|
59
|
+
ref: ${{ github.event.inputs.tag }}
|
|
60
|
+
|
|
61
|
+
- name: Set up Ruby
|
|
62
|
+
uses: ruby/setup-ruby@v1
|
|
63
|
+
with:
|
|
64
|
+
ruby-version: "3.2"
|
|
65
|
+
bundler-cache: true
|
|
66
|
+
|
|
67
|
+
- name: Run specs
|
|
68
|
+
run: bundle exec rspec
|
|
69
|
+
|
|
70
|
+
publish:
|
|
71
|
+
name: Build and publish to RubyGems
|
|
72
|
+
needs: [test]
|
|
73
|
+
if: ${{ !cancelled() && !failure() }}
|
|
74
|
+
runs-on: ubuntu-latest
|
|
75
|
+
environment: release
|
|
76
|
+
permissions:
|
|
77
|
+
id-token: write
|
|
78
|
+
contents: read
|
|
79
|
+
steps:
|
|
80
|
+
- name: Checkout tag
|
|
81
|
+
uses: actions/checkout@v6
|
|
82
|
+
with:
|
|
83
|
+
ref: ${{ github.event.inputs.tag }}
|
|
84
|
+
|
|
85
|
+
- name: Set up Ruby
|
|
86
|
+
uses: ruby/setup-ruby@v1
|
|
87
|
+
with:
|
|
88
|
+
ruby-version: "3.2"
|
|
89
|
+
bundler-cache: true
|
|
90
|
+
|
|
91
|
+
- name: Configure RubyGems credentials
|
|
92
|
+
uses: rubygems/configure-rubygems-credentials@main
|
|
93
|
+
with:
|
|
94
|
+
api-token: ${{ secrets.RUBYGEMS_API_TOKEN }}
|
|
95
|
+
|
|
96
|
+
- name: Build gem
|
|
97
|
+
run: gem build zerobounce.gemspec
|
|
98
|
+
|
|
99
|
+
- name: Publish to RubyGems
|
|
100
|
+
run: |
|
|
101
|
+
GEM_FILE=$(ls zerobounce-sdk-*.gem)
|
|
102
|
+
echo "Pushing $GEM_FILE"
|
|
103
|
+
gem push "$GEM_FILE"
|
|
104
|
+
|
|
105
|
+
release:
|
|
106
|
+
name: Create GitHub Release
|
|
107
|
+
needs: [publish]
|
|
108
|
+
if: ${{ !cancelled() && !failure() }}
|
|
109
|
+
runs-on: ubuntu-latest
|
|
110
|
+
permissions:
|
|
111
|
+
contents: write
|
|
112
|
+
steps:
|
|
113
|
+
- name: Checkout
|
|
114
|
+
uses: actions/checkout@v6
|
|
115
|
+
with:
|
|
116
|
+
ref: ${{ github.event.inputs.tag }}
|
|
117
|
+
fetch-depth: 0
|
|
118
|
+
|
|
119
|
+
- name: Create release if missing
|
|
120
|
+
env:
|
|
121
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
122
|
+
run: |
|
|
123
|
+
TAG="${{ github.event.inputs.tag }}"
|
|
124
|
+
if gh release view "$TAG" --repo "${{ github.repository }}" >/dev/null 2>&1; then
|
|
125
|
+
echo "Release $TAG already exists, skipping."
|
|
126
|
+
else
|
|
127
|
+
gh release create "$TAG" \
|
|
128
|
+
--repo "${{ github.repository }}" \
|
|
129
|
+
--title "$TAG" \
|
|
130
|
+
--generate-notes
|
|
131
|
+
fi
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
zerobounce-sdk (2.1.
|
|
4
|
+
zerobounce-sdk (2.1.5)
|
|
5
5
|
dotenv
|
|
6
6
|
rest-client (~> 2.1)
|
|
7
7
|
|
|
@@ -26,11 +26,13 @@ GEM
|
|
|
26
26
|
http-cookie (1.0.5)
|
|
27
27
|
domain_name (~> 0.5)
|
|
28
28
|
json (2.6.3)
|
|
29
|
+
logger (1.7.0)
|
|
29
30
|
method_source (1.0.0)
|
|
30
31
|
mime-types (3.5.1)
|
|
31
32
|
mime-types-data (~> 3.2015)
|
|
32
33
|
mime-types-data (3.2023.0808)
|
|
33
34
|
netrc (0.11.0)
|
|
35
|
+
ostruct (0.6.3)
|
|
34
36
|
parallel (1.22.1)
|
|
35
37
|
parser (3.2.2.0)
|
|
36
38
|
ast (~> 2.4.1)
|
|
@@ -95,15 +97,16 @@ GEM
|
|
|
95
97
|
unf_ext
|
|
96
98
|
unf_ext (0.0.8.2)
|
|
97
99
|
unicode-display_width (2.4.2)
|
|
98
|
-
vcr (6.
|
|
100
|
+
vcr (6.4.0)
|
|
99
101
|
webmock (3.18.1)
|
|
100
102
|
addressable (>= 2.8.0)
|
|
101
103
|
crack (>= 0.3.2)
|
|
102
104
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
103
|
-
yard (0.9.
|
|
105
|
+
yard (0.9.43)
|
|
104
106
|
|
|
105
107
|
PLATFORMS
|
|
106
108
|
arm64-darwin-24
|
|
109
|
+
arm64-darwin-25
|
|
107
110
|
x86_64-linux
|
|
108
111
|
|
|
109
112
|
DEPENDENCIES
|
|
@@ -111,6 +114,8 @@ DEPENDENCIES
|
|
|
111
114
|
base64
|
|
112
115
|
bigdecimal
|
|
113
116
|
bundler (~> 2.4.6)
|
|
117
|
+
logger
|
|
118
|
+
ostruct
|
|
114
119
|
pry (~> 0.14.1)
|
|
115
120
|
rake (~> 13.0)
|
|
116
121
|
rexml (>= 3.4.4)
|
|
@@ -121,9 +126,9 @@ DEPENDENCIES
|
|
|
121
126
|
rubocop-rake (~> 0.5.1)
|
|
122
127
|
rubocop-rspec (~> 2.3)
|
|
123
128
|
simplecov (~> 0.21.2)
|
|
124
|
-
vcr (~> 6.
|
|
129
|
+
vcr (~> 6.4)
|
|
125
130
|
webmock (~> 3.18)
|
|
126
|
-
yard (~> 0.9.
|
|
131
|
+
yard (~> 0.9.42)
|
|
127
132
|
zerobounce-sdk!
|
|
128
133
|
|
|
129
134
|
BUNDLED WITH
|
data/lib/zerobounce/version.rb
CHANGED
data/lib/zerobounce.rb
CHANGED
|
@@ -68,6 +68,7 @@ module Zerobounce
|
|
|
68
68
|
# "domain": null,
|
|
69
69
|
# "domain_age_days": "9692",
|
|
70
70
|
# "smtp_provider": "example",
|
|
71
|
+
# "catchall_domain": false,
|
|
71
72
|
# "mx_found": "true",
|
|
72
73
|
# "mx_record": "mx.example.com",
|
|
73
74
|
# "firstname": "zero",
|
|
@@ -199,6 +200,7 @@ module Zerobounce
|
|
|
199
200
|
# "domain": null,
|
|
200
201
|
# "domain_age_days": "9692",
|
|
201
202
|
# "smtp_provider": "example",
|
|
203
|
+
# "catchall_domain": false,
|
|
202
204
|
# "mx_found": "true",
|
|
203
205
|
# "mx_record": "mx.example.com",
|
|
204
206
|
# "firstname": "zero",
|
data/zerobounce.gemspec
CHANGED
|
@@ -31,6 +31,8 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
|
31
31
|
|
|
32
32
|
spec.add_development_dependency 'base64' # stdlib gem on Ruby 3.4+
|
|
33
33
|
spec.add_development_dependency 'bigdecimal' # required by crack (webmock) on Ruby 3.4+
|
|
34
|
+
spec.add_development_dependency 'ostruct' # stdlib gem on Ruby 3.5+ (json/simplecov load chain)
|
|
35
|
+
spec.add_development_dependency 'logger' # stdlib gem on Ruby 3.4+ (mime-types / rest-client load chain)
|
|
34
36
|
spec.add_development_dependency 'bundler', '~> 2.4.6'
|
|
35
37
|
spec.add_development_dependency 'pry', '~> 0.14.1'
|
|
36
38
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
@@ -41,7 +43,7 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
|
41
43
|
spec.add_development_dependency 'rubocop-rake', '~> 0.5.1'
|
|
42
44
|
spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
|
|
43
45
|
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
|
44
|
-
spec.add_development_dependency 'yard', '~> 0.9.
|
|
46
|
+
spec.add_development_dependency 'yard', '~> 0.9.42'
|
|
45
47
|
spec.add_development_dependency 'webmock', '~> 3.18'
|
|
46
|
-
spec.add_development_dependency 'vcr', '~> 6.
|
|
48
|
+
spec.add_development_dependency 'vcr', '~> 6.4'
|
|
47
49
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zerobounce-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zero Bounce
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: exe
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-10 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: rest-client
|
|
@@ -65,6 +66,34 @@ dependencies:
|
|
|
65
66
|
- - ">="
|
|
66
67
|
- !ruby/object:Gem::Version
|
|
67
68
|
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: ostruct
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: logger
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
68
97
|
- !ruby/object:Gem::Dependency
|
|
69
98
|
name: bundler
|
|
70
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -217,14 +246,14 @@ dependencies:
|
|
|
217
246
|
requirements:
|
|
218
247
|
- - "~>"
|
|
219
248
|
- !ruby/object:Gem::Version
|
|
220
|
-
version: 0.9.
|
|
249
|
+
version: 0.9.42
|
|
221
250
|
type: :development
|
|
222
251
|
prerelease: false
|
|
223
252
|
version_requirements: !ruby/object:Gem::Requirement
|
|
224
253
|
requirements:
|
|
225
254
|
- - "~>"
|
|
226
255
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: 0.9.
|
|
256
|
+
version: 0.9.42
|
|
228
257
|
- !ruby/object:Gem::Dependency
|
|
229
258
|
name: webmock
|
|
230
259
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -245,14 +274,14 @@ dependencies:
|
|
|
245
274
|
requirements:
|
|
246
275
|
- - "~>"
|
|
247
276
|
- !ruby/object:Gem::Version
|
|
248
|
-
version: 6.
|
|
277
|
+
version: '6.4'
|
|
249
278
|
type: :development
|
|
250
279
|
prerelease: false
|
|
251
280
|
version_requirements: !ruby/object:Gem::Requirement
|
|
252
281
|
requirements:
|
|
253
282
|
- - "~>"
|
|
254
283
|
- !ruby/object:Gem::Version
|
|
255
|
-
version: 6.
|
|
284
|
+
version: '6.4'
|
|
256
285
|
description: A Ruby client for Zerobounce.net.
|
|
257
286
|
email:
|
|
258
287
|
- integrations@zerobounce.net
|
|
@@ -266,6 +295,7 @@ files:
|
|
|
266
295
|
- ".github/dependabot.yml"
|
|
267
296
|
- ".github/workflows/auto_assign_ci.yaml"
|
|
268
297
|
- ".github/workflows/codeql.yml"
|
|
298
|
+
- ".github/workflows/publish.yml"
|
|
269
299
|
- ".github/workflows/sdk_ci.yml"
|
|
270
300
|
- ".gitignore"
|
|
271
301
|
- ".rspec"
|
|
@@ -310,6 +340,7 @@ licenses:
|
|
|
310
340
|
- MIT
|
|
311
341
|
metadata:
|
|
312
342
|
yard.run: yri
|
|
343
|
+
post_install_message:
|
|
313
344
|
rdoc_options: []
|
|
314
345
|
require_paths:
|
|
315
346
|
- lib
|
|
@@ -324,7 +355,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
324
355
|
- !ruby/object:Gem::Version
|
|
325
356
|
version: '0'
|
|
326
357
|
requirements: []
|
|
327
|
-
rubygems_version: 3.
|
|
358
|
+
rubygems_version: 3.4.19
|
|
359
|
+
signing_key:
|
|
328
360
|
specification_version: 4
|
|
329
361
|
summary: A Ruby client for Zerobounce.net.
|
|
330
362
|
test_files: []
|