zonesync 0.9.0 → 0.11.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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +90 -0
  3. data/Gemfile +1 -0
  4. data/lib/zonesync/cli.rb +9 -0
  5. data/lib/zonesync/cloudflare.rb +64 -39
  6. data/lib/zonesync/diff.rb +10 -1
  7. data/lib/zonesync/errors.rb +35 -0
  8. data/lib/zonesync/generate.rb +14 -0
  9. data/lib/zonesync/http.rb +24 -8
  10. data/lib/zonesync/logger.rb +20 -15
  11. data/lib/zonesync/manifest.rb +68 -21
  12. data/lib/zonesync/parser.rb +337 -0
  13. data/lib/zonesync/provider.rb +105 -26
  14. data/lib/zonesync/record.rb +18 -23
  15. data/lib/zonesync/record_hash.rb +15 -0
  16. data/lib/zonesync/route53.rb +146 -28
  17. data/lib/zonesync/sync.rb +51 -0
  18. data/lib/zonesync/validator.rb +77 -19
  19. data/lib/zonesync/version.rb +1 -1
  20. data/lib/zonesync/zonefile.rb +22 -311
  21. data/lib/zonesync.rb +28 -60
  22. data/sorbet/config +4 -0
  23. data/sorbet/rbi/annotations/.gitattributes +1 -0
  24. data/sorbet/rbi/annotations/activesupport.rbi +457 -0
  25. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  26. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  27. data/sorbet/rbi/gems/.gitattributes +1 -0
  28. data/sorbet/rbi/gems/activesupport@8.0.1.rbi +18474 -0
  29. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  30. data/sorbet/rbi/gems/base64@0.2.0.rbi +507 -0
  31. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  32. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +9 -0
  33. data/sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi +11645 -0
  34. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +9 -0
  35. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  36. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  37. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
  38. data/sorbet/rbi/gems/drb@2.2.1.rbi +1347 -0
  39. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  40. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +353 -0
  41. data/sorbet/rbi/gems/i18n@1.14.6.rbi +2275 -0
  42. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  43. data/sorbet/rbi/gems/logger@1.6.4.rbi +940 -0
  44. data/sorbet/rbi/gems/minitest@5.25.4.rbi +1547 -0
  45. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  46. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  47. data/sorbet/rbi/gems/polyglot@0.3.5.rbi +42 -0
  48. data/sorbet/rbi/gems/prism@1.3.0.rbi +40040 -0
  49. data/sorbet/rbi/gems/psych@5.2.2.rbi +1785 -0
  50. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +936 -0
  51. data/sorbet/rbi/gems/rake@13.2.1.rbi +3028 -0
  52. data/sorbet/rbi/gems/rbi@0.2.2.rbi +4527 -0
  53. data/sorbet/rbi/gems/rdoc@6.10.0.rbi +12766 -0
  54. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  55. data/sorbet/rbi/gems/rexml@3.4.0.rbi +4974 -0
  56. data/sorbet/rbi/gems/rspec-core@3.13.2.rbi +10896 -0
  57. data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
  58. data/sorbet/rbi/gems/rspec-mocks@3.13.2.rbi +5341 -0
  59. data/sorbet/rbi/gems/rspec-support@3.13.2.rbi +1630 -0
  60. data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
  61. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  62. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  63. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  64. data/sorbet/rbi/gems/tapioca@0.16.6.rbi +3611 -0
  65. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  66. data/sorbet/rbi/gems/treetop@1.6.12.rbi +1895 -0
  67. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  68. data/sorbet/rbi/gems/uri@1.0.2.rbi +2340 -0
  69. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1780 -0
  70. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  71. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  72. data/sorbet/rbi/todo.rbi +7 -0
  73. data/sorbet/tapioca/config.yml +13 -0
  74. data/sorbet/tapioca/require.rb +4 -0
  75. data/zonesync.gemspec +3 -0
  76. metadata +102 -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.11.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-09-18 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
@@ -106,6 +148,7 @@ extra_rdoc_files: []
106
148
  files:
107
149
  - ".envrc"
108
150
  - ".rspec"
151
+ - CLAUDE.md
109
152
  - Gemfile
110
153
  - LICENSE.txt
111
154
  - README.md
@@ -116,18 +159,75 @@ files:
116
159
  - lib/zonesync/cloudflare.rb
117
160
  - lib/zonesync/diff.rb
118
161
  - lib/zonesync/errors.rb
162
+ - lib/zonesync/generate.rb
119
163
  - lib/zonesync/http.rb
120
164
  - lib/zonesync/logger.rb
121
165
  - lib/zonesync/manifest.rb
166
+ - lib/zonesync/parser.rb
122
167
  - lib/zonesync/provider.rb
123
168
  - lib/zonesync/rake.rb
124
169
  - lib/zonesync/record.rb
170
+ - lib/zonesync/record_hash.rb
125
171
  - lib/zonesync/route53.rb
172
+ - lib/zonesync/sync.rb
126
173
  - lib/zonesync/validator.rb
127
174
  - lib/zonesync/version.rb
128
175
  - lib/zonesync/zonefile.rb
129
176
  - lib/zonesync/zonefile.treetop
130
177
  - log/.keep
178
+ - sorbet/config
179
+ - sorbet/rbi/annotations/.gitattributes
180
+ - sorbet/rbi/annotations/activesupport.rbi
181
+ - sorbet/rbi/annotations/minitest.rbi
182
+ - sorbet/rbi/annotations/webmock.rbi
183
+ - sorbet/rbi/gems/.gitattributes
184
+ - sorbet/rbi/gems/activesupport@8.0.1.rbi
185
+ - sorbet/rbi/gems/addressable@2.8.7.rbi
186
+ - sorbet/rbi/gems/base64@0.2.0.rbi
187
+ - sorbet/rbi/gems/benchmark@0.4.0.rbi
188
+ - sorbet/rbi/gems/bigdecimal@3.1.9.rbi
189
+ - sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi
190
+ - sorbet/rbi/gems/connection_pool@2.4.1.rbi
191
+ - sorbet/rbi/gems/crack@1.0.0.rbi
192
+ - sorbet/rbi/gems/date@3.4.1.rbi
193
+ - sorbet/rbi/gems/diff-lcs@1.5.1.rbi
194
+ - sorbet/rbi/gems/drb@2.2.1.rbi
195
+ - sorbet/rbi/gems/erubi@1.13.1.rbi
196
+ - sorbet/rbi/gems/hashdiff@1.1.2.rbi
197
+ - sorbet/rbi/gems/i18n@1.14.6.rbi
198
+ - sorbet/rbi/gems/io-console@0.8.0.rbi
199
+ - sorbet/rbi/gems/logger@1.6.4.rbi
200
+ - sorbet/rbi/gems/minitest@5.25.4.rbi
201
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
202
+ - sorbet/rbi/gems/parallel@1.26.3.rbi
203
+ - sorbet/rbi/gems/polyglot@0.3.5.rbi
204
+ - sorbet/rbi/gems/prism@1.3.0.rbi
205
+ - sorbet/rbi/gems/psych@5.2.2.rbi
206
+ - sorbet/rbi/gems/public_suffix@6.0.1.rbi
207
+ - sorbet/rbi/gems/rake@13.2.1.rbi
208
+ - sorbet/rbi/gems/rbi@0.2.2.rbi
209
+ - sorbet/rbi/gems/rdoc@6.10.0.rbi
210
+ - sorbet/rbi/gems/reline@0.6.0.rbi
211
+ - sorbet/rbi/gems/rexml@3.4.0.rbi
212
+ - sorbet/rbi/gems/rspec-core@3.13.2.rbi
213
+ - sorbet/rbi/gems/rspec-expectations@3.13.3.rbi
214
+ - sorbet/rbi/gems/rspec-mocks@3.13.2.rbi
215
+ - sorbet/rbi/gems/rspec-support@3.13.2.rbi
216
+ - sorbet/rbi/gems/rspec@3.13.0.rbi
217
+ - sorbet/rbi/gems/securerandom@0.4.1.rbi
218
+ - sorbet/rbi/gems/spoom@1.5.0.rbi
219
+ - sorbet/rbi/gems/stringio@3.1.2.rbi
220
+ - sorbet/rbi/gems/tapioca@0.16.6.rbi
221
+ - sorbet/rbi/gems/thor@1.3.2.rbi
222
+ - sorbet/rbi/gems/treetop@1.6.12.rbi
223
+ - sorbet/rbi/gems/tzinfo@2.0.6.rbi
224
+ - sorbet/rbi/gems/uri@1.0.2.rbi
225
+ - sorbet/rbi/gems/webmock@3.24.0.rbi
226
+ - sorbet/rbi/gems/yard-sorbet@0.9.0.rbi
227
+ - sorbet/rbi/gems/yard@0.9.37.rbi
228
+ - sorbet/rbi/todo.rbi
229
+ - sorbet/tapioca/config.yml
230
+ - sorbet/tapioca/require.rb
131
231
  - zonesync.gemspec
132
232
  homepage: https://github.com/botandrose/zonesync
133
233
  licenses: