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)