record_store 8.0.8 → 8.0.10

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: 6841eb222738f6dd2c59e20db6f7e6b9f6e8217c402a638e6a48d6fa85f637fa
4
- data.tar.gz: 220a069f8f2e16e9ef2d4768d9a88c52790e7b8d954c0b1fbefa32687824cc4f
3
+ metadata.gz: bcaa697157000cc1bf04fd72aee445d2ecd8b8b34352eb99d8e5544903c92146
4
+ data.tar.gz: 453b90bf06d3555904e3d60177979a09cdaca5370a63aa5634fc3322f8527ea2
5
5
  SHA512:
6
- metadata.gz: ddcd7243281f211c6381ce1cb980b190ea4a5263ee20772fe73f327d639909b8a747dea513f97dfd274e43aefc5c73f05aa1d126af122c2fcd56edfe00ea5da4
7
- data.tar.gz: de7a759bde4075262f25c4ae4c3e841735e613e48dbfe7d4b9ab65b0a14da203e5c85c199c279a03017d0f3d3f0afcf052d759b964072324d5ca177c542f4c9a
6
+ metadata.gz: 1386094b965dc6309249f816dc509fcfb6810e5dc2ae3601709a3ccddfb9a6ab1e6315cc8e5b5ac62c0edc09ad02cdfa428d2a593df8c5975bd6d35929254235
7
+ data.tar.gz: b927d38959ed6496c65e6fcb98525b9a189c96621b159ece23ec06b382b6df87c9b5b78da996d2fbe6524cad03c95e8d0cb6376b4627bf83c0be6c17a7d0c441
@@ -14,7 +14,7 @@ jobs:
14
14
  ruby: [ 3.2, 3.3, 3.4 ]
15
15
  name: Test Ruby ${{ matrix.ruby }}
16
16
  steps:
17
- - uses: actions/checkout@v4
17
+ - uses: actions/checkout@v5
18
18
  - name: Install dependencies
19
19
  run: |
20
20
  sudo apt-get update && sudo apt-get install build-essential libcurl4-openssl-dev
@@ -13,7 +13,7 @@ jobs:
13
13
  pull-requests: write
14
14
 
15
15
  steps:
16
- - uses: actions/stale@v9
16
+ - uses: actions/stale@v10
17
17
  with:
18
18
  ascending: true
19
19
  operations-per-run: 100
data/CHANGELOG.md CHANGED
@@ -1,11 +1,19 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 8.0.10
4
+ - Fix Cloudflare provider to skip empty changesets
5
+ - Add TXT record denormalization for DNSimple provider
6
+
7
+ ## 8.0.9
8
+ - Update dnsimple requirement from >= 4.4, < 11.1 to >= 4.4, < 11.2
9
+ - Update rubocop requirement from ~> 1.80.2 to ~> 1.81.1
10
+
3
11
  ## 8.0.8
4
12
  - Require Thor >= 1.4.0 to mitigate a CVE
5
13
 
6
14
  ## 8.0.7
7
15
  - Add retry logic for server errors from providers
8
-
16
+
9
17
  ## 8.0.6
10
18
  - Fix quotes around Cloudflare TXT records
11
19
 
@@ -88,6 +88,8 @@ module RecordStore
88
88
  end
89
89
  end
90
90
 
91
+ return if deletes.empty? && patches.empty? && posts.empty? && puts.empty?
92
+
91
93
  zone_id = zone_name_to_id(changeset.zone)
92
94
  api_body = {
93
95
  deletes: deletes,
@@ -75,6 +75,14 @@ module RecordStore
75
75
  super.fetch('dnsimple')
76
76
  end
77
77
 
78
+ def denormalize_txt(content)
79
+ if content.start_with?('"') && content.end_with?('"')
80
+ content[1..-2].gsub('\"', '"')
81
+ else
82
+ content
83
+ end
84
+ end
85
+
78
86
  def build_from_api(api_record, zone)
79
87
  fqdn = api_record.name.present? ? "#{api_record.name}.#{zone}" : zone
80
88
  fqdn = "#{fqdn}." unless fqdn.ends_with?('.')
@@ -117,7 +125,8 @@ module RecordStore
117
125
  fingerprint: fingerprint,
118
126
  )
119
127
  when 'SPF', 'TXT'
120
- record.merge!(txtdata: Record.unescape(api_record.content).gsub(';', '\;'))
128
+ content = denormalize_txt(api_record.content)
129
+ record.merge!(txtdata: Record.unescape(content).gsub(';', '\;'))
121
130
  when 'SRV'
122
131
  weight, port, host = api_record.content.split(' ')
123
132
 
@@ -1,3 +1,3 @@
1
1
  module RecordStore
2
- VERSION = '8.0.8'.freeze
2
+ VERSION = '8.0.10'.freeze
3
3
  end
data/record_store.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_runtime_dependency 'ejson'
32
32
  spec.add_runtime_dependency 'thor', '>= 1.4.0'
33
33
 
34
- spec.add_runtime_dependency 'dnsimple', '>= 4.4', '< 10.1'
34
+ spec.add_runtime_dependency 'dnsimple', '>= 4.4', '< 11.2'
35
35
  spec.add_runtime_dependency 'fog-dynect', '>= 0.4', '< 0.6'
36
36
  spec.add_runtime_dependency 'fog-json'
37
37
  spec.add_runtime_dependency 'fog-xml'
@@ -46,7 +46,7 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency 'mocha'
47
47
  spec.add_development_dependency 'pry'
48
48
  spec.add_development_dependency 'rake'
49
- spec.add_development_dependency 'rubocop', '~> 1.78.0'
49
+ spec.add_development_dependency 'rubocop', '~> 1.81.1'
50
50
  spec.add_development_dependency 'rubocop-shopify', '~> 2.15.1'
51
51
  spec.add_development_dependency 'vcr'
52
52
  spec.add_development_dependency 'webmock'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: record_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.8
4
+ version: 8.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willem van Bergen
@@ -75,7 +75,7 @@ dependencies:
75
75
  version: '4.4'
76
76
  - - "<"
77
77
  - !ruby/object:Gem::Version
78
- version: '10.1'
78
+ version: '11.2'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
@@ -85,7 +85,7 @@ dependencies:
85
85
  version: '4.4'
86
86
  - - "<"
87
87
  - !ruby/object:Gem::Version
88
- version: '10.1'
88
+ version: '11.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: fog-dynect
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -298,14 +298,14 @@ dependencies:
298
298
  requirements:
299
299
  - - "~>"
300
300
  - !ruby/object:Gem::Version
301
- version: 1.78.0
301
+ version: 1.81.1
302
302
  type: :development
303
303
  prerelease: false
304
304
  version_requirements: !ruby/object:Gem::Requirement
305
305
  requirements:
306
306
  - - "~>"
307
307
  - !ruby/object:Gem::Version
308
- version: 1.78.0
308
+ version: 1.81.1
309
309
  - !ruby/object:Gem::Dependency
310
310
  name: rubocop-shopify
311
311
  requirement: !ruby/object:Gem::Requirement
@@ -447,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
447
447
  - !ruby/object:Gem::Version
448
448
  version: '0'
449
449
  requirements: []
450
- rubygems_version: 3.6.9
450
+ rubygems_version: 3.7.2
451
451
  specification_version: 4
452
452
  summary: Manage DNS using git
453
453
  test_files: []