lib/dm-validations/generic_validator.rb in dm-validations-0.9.3 vs lib/dm-validations/generic_validator.rb in dm-validations-0.9.4
- old
+ new
@@ -65,27 +65,33 @@
# optionally passed while specifying any validator.
#
# @param <Object> target the resource that we check against
# @return <Boolean> true if should be run, otherwise false
def execute?(target)
- return true if self.if_clause.nil? && self.unless_clause.nil?
-
- if self.unless_clause
- if self.unless_clause.is_a?(Symbol)
- return false if target.send(self.unless_clause)
- elsif self.unless_clause.respond_to?(:call)
- return false if self.unless_clause.call(target)
+ if unless_clause = self.unless_clause
+ if unless_clause.is_a?(Symbol)
+ return false if target.send(unless_clause)
+ elsif unless_clause.respond_to?(:call)
+ return false if unless_clause.call(target)
end
end
- if self.if_clause
- if self.if_clause.is_a?(Symbol)
- return target.send(self.if_clause)
- elsif self.if_clause.respond_to?(:call)
- return self.if_clause.call(target)
+ if if_clause = self.if_clause
+ if if_clause.is_a?(Symbol)
+ return target.send(if_clause)
+ elsif if_clause.respond_to?(:call)
+ return if_clause.call(target)
end
end
- return true
+
+ true
+ end
+
+ def ==(other)
+ self.field_name == other.field_name &&
+ self.if_clause == other.if_clause &&
+ self.unless_clause == other.unless_clause &&
+ self.instance_variable_get(:@options) == other.instance_variable_get(:@options)
end
end # class GenericValidator
end # module Validate
end # module DataMapper