class DeepClassCompare::Matcher

Public Class Methods

build(klass) click to toggle source
# File lib/deep_class_compare/matcher.rb, line 3
def self.build(klass)
  if klass.ancestors.include?(Array) then ArrayMatcher.new(klass)
  elsif klass.ancestors.include?(Hash) then HashMatcher.new(klass)
  else new(klass)
  end
end
new(base) click to toggle source
# File lib/deep_class_compare/matcher.rb, line 10
def initialize(base)
  @base = base
  raise_class_required_error! unless @base.is_a?(Class)
end

Public Instance Methods

match?(value) click to toggle source
# File lib/deep_class_compare/matcher.rb, line 15
def match?(value)
  value.is_a?(@base)
end

Private Instance Methods

raise_class_required_error!() click to toggle source
# File lib/deep_class_compare/matcher.rb, line 20
def raise_class_required_error!
  raise TypeError.new("class or module required")
end
raise_pattern_error!() click to toggle source
# File lib/deep_class_compare/matcher.rb, line 24
def raise_pattern_error!
  raise TypeError.new("invalid pattern of compare chain")
end