Class: Data::Criteria::MatcherFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/data/criteria/matcher_factory.rb

Class Method Summary collapse

Class Method Details

.create(expected) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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