Addressing Rubocop Errors
[puppet-modules/puppetlabs-apt.git] / manifests / setting.pp
index 123bb2f70e29e9c2c559c1c3fd455e252b39863b..91835cb1b2b88f15387b276660e50a26828bed91 100644 (file)
@@ -1,10 +1,9 @@
 define apt::setting (
-  Variant[String, Stdlib::Compat::String, Integer, Stdlib::Compat::Integer, Array, Stdlib::Compat::Array] $priority = 50,
-  Optional[Enum['file', 'present', 'absent']] $ensure                                                               = file,
-  Optional[Variant[String, Stdlib::Compat::String]] $source                                                         = undef,
-  Optional[Variant[String, Stdlib::Compat::String]] $content                                                        = undef,
-  Optional[Boolean] $notify_update                                                                                  = true,
-
+  Variant[String, Integer, Array] $priority           = 50,
+  Optional[Enum['file', 'present', 'absent']] $ensure = file,
+  Optional[String] $source                            = undef,
+  Optional[String] $content                           = undef,
+  Boolean $notify_update                              = true,
 ) {
 
   if $content and $source {
@@ -15,27 +14,19 @@ define apt::setting (
     fail('apt::setting needs either of content or source')
   }
 
-  if $notify_update {
-    validate_legacy(Boolean, 'validate_bool', $notify_update)
-  }
-
   $title_array = split($title, '-')
   $setting_type = $title_array[0]
   $base_name = join(delete_at($title_array, 0), '-')
 
-  validate_re($setting_type, ['\Aconf\z', '\Apref\z', '\Alist\z'], "apt::setting resource name/title must start with either 'conf-', 'pref-' or 'list-'")
-
-  unless is_integer($priority) {
-    # need this to allow zero-padded priority.
-    validate_re($priority, '^\d+$', 'apt::setting priority must be an integer or a zero-padded integer')
-  }
-
-  if $source {
-    validate_legacy(String, 'validate_string', $source)
+  assert_type(Pattern[/\Aconf\z/, /\Apref\z/, /\Alist\z/], $setting_type) |$a, $b| {
+    fail("apt::setting resource name/title must start with either 'conf-', 'pref-' or 'list-'")
   }
 
-  if $content {
-    validate_legacy(String, 'validate_string', $content)
+  if $priority !~ Integer {
+    # need this to allow zero-padded priority.
+    assert_type(Pattern[/^\d+$/], $priority) |$a, $b| {
+      fail('apt::setting priority must be an integer or a zero-padded integer')
+    }
   }
 
   if ($setting_type == 'list') or ($setting_type == 'pref') {