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