class Goodcheck::Pattern::Token::VarPattern
Attributes
negated[R]
patterns[R]
type[RW]
Public Class Methods
empty()
click to toggle source
# File lib/goodcheck/pattern.rb, line 92 def self.empty VarPattern.new(patterns: [], negated: false) end
new(patterns:, negated:)
click to toggle source
# File lib/goodcheck/pattern.rb, line 57 def initialize(patterns:, negated:) @patterns = patterns @negated = negated end
Public Instance Methods
cast(str)
click to toggle source
# File lib/goodcheck/pattern.rb, line 62 def cast(str) case type when :int str.to_i when :float, :number str.to_f else str end end
test(str)
click to toggle source
# File lib/goodcheck/pattern.rb, line 73 def test(str) return true if patterns.empty? unless negated patterns.any? {|pattern| test2(pattern, str) } else patterns.none? {|pattern| test2(pattern, str) } end end
test2(pattern, str)
click to toggle source
# File lib/goodcheck/pattern.rb, line 83 def test2(pattern, str) case pattern when Numeric pattern == cast(str) else pattern === str end end