@@ -89,7 +89,7 @@ class Domain < Checkable
89
89
90
90
HASH_METHODS = %i[
91
91
host uri nameservers dns_resolves? proxied? cloudflare_ip?
92
- fastly_ip? old_ip_address? a_record? aaaa_record_present ? cname_record?
92
+ fastly_ip? old_ip_address? a_record? aaaa_record ? cname_record?
93
93
mx_records_present? valid_domain? apex_domain? should_be_a_record?
94
94
cname_to_github_user_domain? cname_to_pages_dot_github_dot_com?
95
95
cname_to_fastly? pointed_to_github_pages_ip?
@@ -214,7 +214,7 @@ def dns_zone_ns?
214
214
end
215
215
end
216
216
217
- # Should the domain use an A or AAAA record?
217
+ # Should the domain use an A record?
218
218
def should_be_a_record?
219
219
!pages_io_domain? && ( apex_domain? || mx_records_present? )
220
220
end
@@ -225,7 +225,7 @@ def should_be_cname_record?
225
225
226
226
# Is the domain's first response an A or AAAA record to a valid GitHub Pages IP?
227
227
def pointed_to_github_pages_ip?
228
- return false unless a_record ?
228
+ return false unless address_record ?
229
229
230
230
CURRENT_IP_ADDRESSES_ALL . include? ( dns . first . address . to_s . downcase )
231
231
end
@@ -235,7 +235,7 @@ def non_github_pages_ip_present?
235
235
return unless dns?
236
236
237
237
dns
238
- . select { |a | A_RECORD_TYPES . include? ( a . type ) }
238
+ . select { |a | Dnsruby :: Types :: A == a . type || Dnsruby :: Types :: AAAA == a . type }
239
239
. any? { |a | !github_pages_ip? ( a . address . to_s ) }
240
240
end
241
241
@@ -353,12 +353,20 @@ def old_ip_address?
353
353
end
354
354
end
355
355
356
- # Is this domain's first response an A or AAAA record?
356
+ # Is this domain's first response an A record?
357
357
def a_record?
358
358
return @is_a_record if defined? ( @is_a_record )
359
359
return unless dns?
360
360
361
- @is_a_record = A_RECORD_TYPES . include? ( dns . first . type )
361
+ @is_a_record = Dnsruby ::Types ::A == dns . first . type
362
+ end
363
+
364
+ # Is this domain's first response an AAAA record?
365
+ def aaaa_record?
366
+ return @is_aaaa_record if defined? ( @is_aaaa_record )
367
+ return unless dns?
368
+
369
+ @is_aaaa_record = Dnsruby ::Types ::AAAA == dns . first . type
362
370
end
363
371
364
372
def aaaa_record_present?
@@ -452,7 +460,9 @@ def caa_error
452
460
453
461
private
454
462
455
- A_RECORD_TYPES = [ Dnsruby ::Types ::A , Dnsruby ::Types ::AAAA ] . freeze
463
+ def address_record?
464
+ a_record? || aaaa_record?
465
+ end
456
466
457
467
def caa
458
468
@caa ||= GitHubPages ::HealthCheck ::CAA . new (
@@ -528,7 +538,9 @@ def scheme
528
538
def cdn_ip? ( cdn )
529
539
return unless dns?
530
540
531
- a_records = dns . select { |answer | A_RECORD_TYPES . include? ( answer . type ) }
541
+ a_records = dns . select do |answer |
542
+ Dnsruby ::Types ::A == answer . type || Dnsruby ::Types ::AAAA == answer . type
543
+ end
532
544
return false if !a_records || a_records . empty?
533
545
534
546
a_records . all? do |answer |
0 commit comments