diff options
author | John Keiser <john@johnkeiser.com> | 2015-06-03 14:05:46 -0700 |
---|---|---|
committer | John Keiser <john@johnkeiser.com> | 2015-06-23 15:23:01 -0700 |
commit | c4257f9d016871c6b4243079542d803d5e7fa383 (patch) | |
tree | 89fe153347148f7643cd32abb46ad5033e645371 /lib/chef/mixin/params_validate.rb | |
parent | 2d4e68e84540c536508c9f33fc1e47c3d8ff60f6 (diff) | |
download | chef-c4257f9d016871c6b4243079542d803d5e7fa383.tar.gz |
Create property on resource, alias attribute to it
Diffstat (limited to 'lib/chef/mixin/params_validate.rb')
-rw-r--r-- | lib/chef/mixin/params_validate.rb | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/chef/mixin/params_validate.rb b/lib/chef/mixin/params_validate.rb index 78d72dc801..ccc313db32 100644 --- a/lib/chef/mixin/params_validate.rb +++ b/lib/chef/mixin/params_validate.rb @@ -136,7 +136,8 @@ class Chef value = _pv_opts_lookup(opts, key) unless value.nil? passes = false - Array(to_be).each do |tb| + to_be = Array(to_be) + to_be.each do |tb| passes = true if value == tb end unless passes @@ -150,7 +151,8 @@ class Chef value = _pv_opts_lookup(opts, key) unless value.nil? passes = false - Array(to_be).each do |tb| + to_be = Array(to_be) + to_be.each do |tb| passes = true if value.kind_of?(tb) end unless passes @@ -177,14 +179,16 @@ class Chef # # Note, this will *PASS* if the object doesn't respond to the method. # So, to make sure a value is not nil and not blank, you need to do - # both :cannot_be => :blank *and* :cannot_be => :nil (or :required => true) + # both :cannot_be => [ :blank, :nil ] def _pv_cannot_be(opts, key, predicate_method_base_name) value = _pv_opts_lookup(opts, key) - predicate_method = (predicate_method_base_name.to_s + "?").to_sym + Array(predicate_method_base_name).each do |method_name| + predicate_method = :"#{method_name}?" - if value.respond_to?(predicate_method) - if value.send(predicate_method) - raise Exceptions::ValidationFailed, "Option #{key} cannot be #{predicate_method_base_name}" + if value.respond_to?(predicate_method) + if value.send(predicate_method) + raise Exceptions::ValidationFailed, "Option #{key} cannot be #{predicate_method_base_name}" + end end end end @@ -202,7 +206,7 @@ class Chef value = _pv_opts_lookup(opts, key) if value != nil passes = false - [ regex ].flatten.each do |r| + Array(regex).each do |r| if value != nil if r.match(value.to_s) passes = true @@ -239,4 +243,3 @@ class Chef end end end - |