lib/goodcheck/pattern.rb in goodcheck-2.1.2 vs lib/goodcheck/pattern.rb in goodcheck-2.2.0
- old
+ new
@@ -71,15 +71,22 @@
end
def test(str)
return true if patterns.empty?
- value = cast(str)
-
unless negated
- patterns.any? {|pattern| pattern === value }
+ patterns.any? {|pattern| test2(pattern, str) }
else
- patterns.none? {|pattern| pattern === value }
+ patterns.none? {|pattern| test2(pattern, str) }
+ end
+ end
+
+ def test2(pattern, str)
+ case pattern
+ when Numeric
+ pattern == cast(str)
+ else
+ pattern === str
end
end
def self.empty
VarPattern.new(patterns: [], negated: false)