zonesync 0.9.0 → 0.10.0

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/lib/zonesync/cli.rb +9 -0
  4. data/lib/zonesync/cloudflare.rb +64 -39
  5. data/lib/zonesync/diff.rb +10 -1
  6. data/lib/zonesync/errors.rb +35 -0
  7. data/lib/zonesync/generate.rb +14 -0
  8. data/lib/zonesync/http.rb +24 -8
  9. data/lib/zonesync/logger.rb +20 -15
  10. data/lib/zonesync/manifest.rb +21 -5
  11. data/lib/zonesync/parser.rb +337 -0
  12. data/lib/zonesync/provider.rb +80 -26
  13. data/lib/zonesync/record.rb +18 -23
  14. data/lib/zonesync/route53.rb +48 -27
  15. data/lib/zonesync/sync.rb +40 -0
  16. data/lib/zonesync/validator.rb +19 -15
  17. data/lib/zonesync/version.rb +1 -1
  18. data/lib/zonesync/zonefile.rb +22 -311
  19. data/lib/zonesync.rb +27 -60
  20. data/sorbet/config +4 -0
  21. data/sorbet/rbi/annotations/.gitattributes +1 -0
  22. data/sorbet/rbi/annotations/activesupport.rbi +457 -0
  23. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  24. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  25. data/sorbet/rbi/gems/.gitattributes +1 -0
  26. data/sorbet/rbi/gems/activesupport@8.0.1.rbi +18474 -0
  27. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  28. data/sorbet/rbi/gems/base64@0.2.0.rbi +507 -0
  29. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  30. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +9 -0
  31. data/sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi +11645 -0
  32. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +9 -0
  33. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  34. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  35. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
  36. data/sorbet/rbi/gems/drb@2.2.1.rbi +1347 -0
  37. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  38. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +353 -0
  39. data/sorbet/rbi/gems/i18n@1.14.6.rbi +2275 -0
  40. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  41. data/sorbet/rbi/gems/logger@1.6.4.rbi +940 -0
  42. data/sorbet/rbi/gems/minitest@5.25.4.rbi +1547 -0
  43. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  44. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  45. data/sorbet/rbi/gems/polyglot@0.3.5.rbi +42 -0
  46. data/sorbet/rbi/gems/prism@1.3.0.rbi +40040 -0
  47. data/sorbet/rbi/gems/psych@5.2.2.rbi +1785 -0
  48. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +936 -0
  49. data/sorbet/rbi/gems/rake@13.2.1.rbi +3028 -0
  50. data/sorbet/rbi/gems/rbi@0.2.2.rbi +4527 -0
  51. data/sorbet/rbi/gems/rdoc@6.10.0.rbi +12766 -0
  52. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  53. data/sorbet/rbi/gems/rexml@3.4.0.rbi +4974 -0
  54. data/sorbet/rbi/gems/rspec-core@3.13.2.rbi +10896 -0
  55. data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
  56. data/sorbet/rbi/gems/rspec-mocks@3.13.2.rbi +5341 -0
  57. data/sorbet/rbi/gems/rspec-support@3.13.2.rbi +1630 -0
  58. data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
  59. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  60. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  61. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  62. data/sorbet/rbi/gems/tapioca@0.16.6.rbi +3611 -0
  63. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  64. data/sorbet/rbi/gems/treetop@1.6.12.rbi +1895 -0
  65. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  66. data/sorbet/rbi/gems/uri@1.0.2.rbi +2340 -0
  67. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1780 -0
  68. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  69. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  70. data/sorbet/rbi/todo.rbi +7 -0
  71. data/sorbet/tapioca/config.yml +13 -0
  72. data/sorbet/tapioca/require.rb +4 -0
  73. data/zonesync.gemspec +3 -0
  74. metadata +100 -2
@@ -0,0 +1,7 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for unresolved constants.
3
+ # Please instead update this file by running `bin/tapioca todo`.
4
+
5
+ # typed: false
6
+
7
+ module Zonesync::Parser::ZonefileParser; end
@@ -0,0 +1,13 @@
1
+ gem:
2
+ # Add your `gem` command parameters here:
3
+ #
4
+ # exclude:
5
+ # - gem_name
6
+ # doc: true
7
+ # workers: 5
8
+ dsl:
9
+ # Add your `dsl` command parameters here:
10
+ #
11
+ # exclude:
12
+ # - SomeGeneratorName
13
+ # workers: 5
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to bootstrap this list)
data/zonesync.gemspec CHANGED
@@ -30,8 +30,11 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency "diff-lcs", "~>1.4"
31
31
  spec.add_dependency "thor", "~>1.0"
32
32
  spec.add_dependency "treetop", "~>1.6"
33
+ spec.add_dependency "sorbet-runtime"
33
34
 
34
35
  spec.add_development_dependency "rake"
35
36
  spec.add_development_dependency "rspec"
36
37
  spec.add_development_dependency "webmock"
38
+ spec.add_development_dependency "sorbet"
39
+ spec.add_development_dependency "tapioca"
37
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zonesync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-01-06 00:00:00.000000000 Z
12
+ date: 2025-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: diff-lcs
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '1.6'
56
+ - !ruby/object:Gem::Dependency
57
+ name: sorbet-runtime
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: rake
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -95,6 +109,34 @@ dependencies:
95
109
  - - ">="
96
110
  - !ruby/object:Gem::Version
97
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: sorbet
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: tapioca
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
98
140
  description: Sync your Zone file with your DNS host
99
141
  email:
100
142
  - micah@botandrose.com
@@ -116,18 +158,74 @@ files:
116
158
  - lib/zonesync/cloudflare.rb
117
159
  - lib/zonesync/diff.rb
118
160
  - lib/zonesync/errors.rb
161
+ - lib/zonesync/generate.rb
119
162
  - lib/zonesync/http.rb
120
163
  - lib/zonesync/logger.rb
121
164
  - lib/zonesync/manifest.rb
165
+ - lib/zonesync/parser.rb
122
166
  - lib/zonesync/provider.rb
123
167
  - lib/zonesync/rake.rb
124
168
  - lib/zonesync/record.rb
125
169
  - lib/zonesync/route53.rb
170
+ - lib/zonesync/sync.rb
126
171
  - lib/zonesync/validator.rb
127
172
  - lib/zonesync/version.rb
128
173
  - lib/zonesync/zonefile.rb
129
174
  - lib/zonesync/zonefile.treetop
130
175
  - log/.keep
176
+ - sorbet/config
177
+ - sorbet/rbi/annotations/.gitattributes
178
+ - sorbet/rbi/annotations/activesupport.rbi
179
+ - sorbet/rbi/annotations/minitest.rbi
180
+ - sorbet/rbi/annotations/webmock.rbi
181
+ - sorbet/rbi/gems/.gitattributes
182
+ - sorbet/rbi/gems/activesupport@8.0.1.rbi
183
+ - sorbet/rbi/gems/addressable@2.8.7.rbi
184
+ - sorbet/rbi/gems/base64@0.2.0.rbi
185
+ - sorbet/rbi/gems/benchmark@0.4.0.rbi
186
+ - sorbet/rbi/gems/bigdecimal@3.1.9.rbi
187
+ - sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi
188
+ - sorbet/rbi/gems/connection_pool@2.4.1.rbi
189
+ - sorbet/rbi/gems/crack@1.0.0.rbi
190
+ - sorbet/rbi/gems/date@3.4.1.rbi
191
+ - sorbet/rbi/gems/diff-lcs@1.5.1.rbi
192
+ - sorbet/rbi/gems/drb@2.2.1.rbi
193
+ - sorbet/rbi/gems/erubi@1.13.1.rbi
194
+ - sorbet/rbi/gems/hashdiff@1.1.2.rbi
195
+ - sorbet/rbi/gems/i18n@1.14.6.rbi
196
+ - sorbet/rbi/gems/io-console@0.8.0.rbi
197
+ - sorbet/rbi/gems/logger@1.6.4.rbi
198
+ - sorbet/rbi/gems/minitest@5.25.4.rbi
199
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
200
+ - sorbet/rbi/gems/parallel@1.26.3.rbi
201
+ - sorbet/rbi/gems/polyglot@0.3.5.rbi
202
+ - sorbet/rbi/gems/prism@1.3.0.rbi
203
+ - sorbet/rbi/gems/psych@5.2.2.rbi
204
+ - sorbet/rbi/gems/public_suffix@6.0.1.rbi
205
+ - sorbet/rbi/gems/rake@13.2.1.rbi
206
+ - sorbet/rbi/gems/rbi@0.2.2.rbi
207
+ - sorbet/rbi/gems/rdoc@6.10.0.rbi
208
+ - sorbet/rbi/gems/reline@0.6.0.rbi
209
+ - sorbet/rbi/gems/rexml@3.4.0.rbi
210
+ - sorbet/rbi/gems/rspec-core@3.13.2.rbi
211
+ - sorbet/rbi/gems/rspec-expectations@3.13.3.rbi
212
+ - sorbet/rbi/gems/rspec-mocks@3.13.2.rbi
213
+ - sorbet/rbi/gems/rspec-support@3.13.2.rbi
214
+ - sorbet/rbi/gems/rspec@3.13.0.rbi
215
+ - sorbet/rbi/gems/securerandom@0.4.1.rbi
216
+ - sorbet/rbi/gems/spoom@1.5.0.rbi
217
+ - sorbet/rbi/gems/stringio@3.1.2.rbi
218
+ - sorbet/rbi/gems/tapioca@0.16.6.rbi
219
+ - sorbet/rbi/gems/thor@1.3.2.rbi
220
+ - sorbet/rbi/gems/treetop@1.6.12.rbi
221
+ - sorbet/rbi/gems/tzinfo@2.0.6.rbi
222
+ - sorbet/rbi/gems/uri@1.0.2.rbi
223
+ - sorbet/rbi/gems/webmock@3.24.0.rbi
224
+ - sorbet/rbi/gems/yard-sorbet@0.9.0.rbi
225
+ - sorbet/rbi/gems/yard@0.9.37.rbi
226
+ - sorbet/rbi/todo.rbi
227
+ - sorbet/tapioca/config.yml
228
+ - sorbet/tapioca/require.rb
131
229
  - zonesync.gemspec
132
230
  homepage: https://github.com/botandrose/zonesync
133
231
  licenses: