class Data::Criteria::MatcherFactory

Public Class Methods

create(expected) click to toggle source
# File lib/data/criteria/matcher_factory.rb, line 5
def create(expected)
  case expected
  when Array, Range
    InMatcher.new(expected)
  when Regexp
    RegexpMatcher.new(expected)
  when String
    if expected =~ NumericComparisonMatcher::REGEXP
      NumericComparisonMatcher.new(expected)
    else
      EqMatcher.new(expected)
    end
  when Hash
    proc {|obj| Criteria.new(expected).match_all?(obj) }
  else
    EqMatcher.new(expected)
  end
end