Module: Filter::Matcher
- Defined in:
- lib/filter/matcher.rb
Constant Summary collapse
- MAPPING =
{ [NilClass] => Filter::Matchers::Nil, [TrueClass, FalseClass] => Filter::Matchers::Boolean, [Class, Module] => Filter::Matchers::Class, [Array] => Filter::Matchers::Array, [Symbol, Proc, Method, UnboundMethod] => Filter::Matchers::Symbol, [Hash] => Filter::Matchers::Hash, }
Class Method Summary collapse
Class Method Details
.new(pattern) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/filter/matcher.rb', line 20 def new(pattern) klass = nil MAPPING.each_pair do |classes, matcher_klass| klass = matcher_klass if classes.any? { |cls| pattern.is_a?(cls) } end klass = Filter::Matchers::Base if klass.nil? klass.new(pattern) end |