summaryrefslogtreecommitdiff
path: root/lib/chef/mixin/params_validate.rb
diff options
context:
space:
mode:
authorJohn Keiser <john@johnkeiser.com>2015-06-03 14:05:46 -0700
committerJohn Keiser <john@johnkeiser.com>2015-06-23 15:23:01 -0700
commitc4257f9d016871c6b4243079542d803d5e7fa383 (patch)
tree89fe153347148f7643cd32abb46ad5033e645371 /lib/chef/mixin/params_validate.rb
parent2d4e68e84540c536508c9f33fc1e47c3d8ff60f6 (diff)
downloadchef-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.rb21
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
-