lib/govuk_schemas/random.rb in govuk_schemas-1.0.0 vs lib/govuk_schemas/random.rb in govuk_schemas-2.0.0

- old
+ new

@@ -45,10 +45,14 @@ def anchor "##{SecureRandom.hex}" end + def random_identifier(separator:) + Utils.parameterize(WORDS.sample(rand(1..10)).join('-')).gsub('-', separator) + end + def string_for_regex(pattern) case pattern.to_s when '^(placeholder|placeholder_.+)$' ['placeholder', "placeholder_#{WORDS.sample}"].sample when '^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$' @@ -60,10 +64,12 @@ when "^[1-9][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])$" Date.today.iso8601 when "^#.+$" anchor when "[a-z-]" - Utils.parameterize(WORDS.sample(rand(1..10)).join('-')) + random_identifier(separator: '-') + when "^[a-z_]+$" + random_identifier(separator: '_') when "^/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?(\\?([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)?(#([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)?$" base_path when "^https://([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[A-Za-z0-9])?\\.)+campaign\\.gov\\.uk(/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?(\\?([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)?(#([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)?)?$" govuk_campaign_url when '[a-z0-9\-_]'