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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60c469eb651d7c50fcd27c4fa2ccfe184ea153865eea585831e05307a8e245b4
4
- data.tar.gz: e065cdbfc1c0f70ee90e269510de7303f97f359e2e4df4949ab7eea987a00c36
3
+ metadata.gz: 44fc864c3ea69f43eba002059c8e7128f6a439d049caf450bf8770b4bfb9f34d
4
+ data.tar.gz: 70266484e92db7d57f8b88def1af9e9fe742337a1be22d0485e57f71dc39b84e
5
5
  SHA512:
6
- metadata.gz: 6c7032ef36844f5efbf3c77b26865b39da3dd70c771650d058a769542e9088b69d49fb394edd71f826180b8fae56a7554f9b54f654f01b946a7e6abf1a7868f1
7
- data.tar.gz: 00d077d6a89832700cd8818870f915aabbedc8b13c498e7c57861cef763316a6ecdffe38ec7f41d2f6538af05d0844c401e81319df70dc7703df9e0e2a22f225
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.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.1.0)
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.38)
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.1.0)
129
+ vcr (~> 6.4)
125
130
  webmock (~> 3.18)
126
- yard (~> 0.9.36)
131
+ yard (~> 0.9.42)
127
132
  zerobounce-sdk!
128
133
 
129
134
  BUNDLED WITH
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Zerobounce
4
4
  # The version of the gem.
5
- VERSION = '2.1.1'
5
+ VERSION = '2.1.5'
6
6
  end
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.36'
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.1.0'
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.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-04-09 00:00:00.000000000 Z
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.36
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.36
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.1.0
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.1.0
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.6.6
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: []