class Representable::Matchers::BaseMatcher

Public Class Methods

new(property) click to toggle source
# File lib/matchers/base_matcher.rb, line 5
def initialize(property)
  @property = property
end

Public Instance Methods

class_name(class_name) click to toggle source
# File lib/matchers/base_matcher.rb, line 9
def class_name(class_name)
  add_submatcher(ClassNameMatcher.new(@property, class_name))
  self
end
description() click to toggle source
# File lib/matchers/base_matcher.rb, line 24
def description
  ""
end
extends(extension) click to toggle source
# File lib/matchers/base_matcher.rb, line 14
def extends(extension)
  add_submatcher(ExtensionOfMatcher.new(@property, extension))
  self
end
failure_message_for_should() click to toggle source
# File lib/matchers/base_matcher.rb, line 28
def failure_message_for_should
  submatcher_failure_messages_for_should.last or raise "Undefined failure message for should"
end
failure_message_for_should_not() click to toggle source
# File lib/matchers/base_matcher.rb, line 32
def failure_message_for_should_not
  submatcher_failure_messages_for_should_not.last or raise "Undefined failure message for should not"
end
matches?(subject) click to toggle source
# File lib/matchers/base_matcher.rb, line 19
def matches?(subject)
  @subject = subject
  submatchers_match?
end

Private Instance Methods

add_submatcher(submatcher) click to toggle source
# File lib/matchers/base_matcher.rb, line 42
def add_submatcher(submatcher)
  submatchers << submatcher
end
failing_submatchers() click to toggle source
# File lib/matchers/base_matcher.rb, line 50
def failing_submatchers
  @failing_submatchers ||= submatchers.select { |matcher| !matcher.matches?(@subject) }
end
submatcher_failure_messages_for_should() click to toggle source
# File lib/matchers/base_matcher.rb, line 54
def submatcher_failure_messages_for_should
  failing_submatchers.map(&:failure_message_for_should)
end
submatcher_failure_messages_for_should_not() click to toggle source
# File lib/matchers/base_matcher.rb, line 58
def submatcher_failure_messages_for_should_not
  failing_submatchers.map(&:failure_message_for_should_not)
end
submatchers() click to toggle source
# File lib/matchers/base_matcher.rb, line 38
def submatchers
  @submatchers ||= []
end
submatchers_match?() click to toggle source
# File lib/matchers/base_matcher.rb, line 46
def submatchers_match?
  failing_submatchers.empty?
end