summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keiser <john@johnkeiser.com>2015-06-23 15:46:51 -0700
committerJohn Keiser <john@johnkeiser.com>2015-06-23 16:29:44 -0700
commitc87150bd77d809c2898f456b336cb44ab62f6cb0 (patch)
tree7e7aeed466840a2ea1fb13b300568155b8220073
parent5957873331296e4186de1f206dbde8cd81adfc2d (diff)
downloadchef-jk/property2.tar.gz
Don't validate defaultsjk/property2
-rw-r--r--lib/chef/property.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/chef/property.rb b/lib/chef/property.rb
index 4a34689824..8d160d7539 100644
--- a/lib/chef/property.rb
+++ b/lib/chef/property.rb
@@ -250,6 +250,7 @@ class Chef
if value.is_a?(DelayedEvaluator)
value = exec_in_resource(resource, value)
value = coerce(resource, value)
+ validate(resource, value)
end
value
@@ -260,7 +261,9 @@ class Chef
value = default
if value.is_a?(DelayedEvaluator)
value = exec_in_resource(resource, value)
- value = set(resource, value)
+ value = coerce(resource, value)
+ # We don't validate defaults
+ set_value(resource, value)
else
value = coerce(resource, value)
end
@@ -284,7 +287,10 @@ class Chef
# this property.
#
def set(resource, value)
- value = coerce(resource, value) unless value.is_a?(DelayedEvaluator)
+ unless value.is_a?(DelayedEvaluator)
+ value = coerce(resource, value)
+ validate(resource, value)
+ end
set_value(resource, value)
end
@@ -320,10 +326,10 @@ class Chef
end
#
- # Coerce an input value into canonical form for the property, validating
- # it in the process.
+ # Coerce an input value into canonical form for the property.
#
# After coercion, the value is suitable for storage in the resource.
+ # You must validate values after coercion, however.
#
# Does no special handling for lazy values.
#
@@ -340,7 +346,6 @@ class Chef
if options.has_key?(:coerce)
value = exec_in_resource(resource, options[:coerce], value)
end
- validate(resource, value)
value
end
@@ -463,6 +468,7 @@ class Chef
if value.is_a?(DelayedEvaluator)
value = coerce(resource, value)
+ validate(resource, value)
end
value
end