<commit_before>use v6;

use DNS::Zone::ResourceRecordData;

class DNS::Zone::ResourceRecordData::SOA is DNS::Zone::ResourceRecordData
{
	has $.domainName   is required;
	has $.domainAction is required;
	has $.serial       is required;
	has $.refresh      is required;
	has $.retry        is required;
	has $.expire       is required;
	has $.min          is required;

	has $!changed = False;

	method isChanged { $!changed }

	method domainName   { self!proxy($!domainName) }
	method domainAction { self!proxy($!domainName) }
	method serial       { self!proxy($!serial)     }
	method refresh      { self!proxy($!refresh)    }
	method retry        { self!proxy($!retry)      }
	method expire       { self!proxy($!expire)     }
	method min          { self!proxy($!min)        }

	method !proxy(\attr)
	{
		Proxy.new(
			FETCH => { attr },
			STORE => -> $, $value { $!changed = True; attr = $value }
		);
	}<commit_msg>RdataSoa : fix domainAction setter<commit_after>use v6;

use DNS::Zone::ResourceRecordData;

class DNS::Zone::ResourceRecordData::SOA is DNS::Zone::ResourceRecordData
{
	has $.domainName   is required;
	has $.domainAction is required;
	has $.serial       is required;
	has $.refresh      is required;
	has $.retry        is required;
	has $.expire       is required;
	has $.min          is required;

	has $!changed = False;

	method isChanged { $!changed }

	method domainName   { self!proxy($!domainName)   }
	method domainAction { self!proxy($!domainAction) }
	method serial       { self!proxy($!serial)       }
	method refresh      { self!proxy($!refresh)      }
	method retry        { self!proxy($!retry)        }
	method expire       { self!proxy($!expire)       }
	method min          { self!proxy($!min)          }

	method !proxy(\attr)
	{
		Proxy.new(
			FETCH => { attr },
			STORE => -> $, $value { $!changed = True; attr = $value }
		);
	}
{'fraction_non_alphanumeric': 0.13750668806848582, 'fraction_numerical': 0.001070090957731407, 'mean_word_length': 2.7325349301397206, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5512014', 'n_tokens_mistral': 619, 'n_tokens_neox': 591, 'n_words': 151}