class Saharspec::Matchers::Ret

@private

Attributes

actual[R]
expected[R]

Public Class Methods

new(expected) click to toggle source
# File lib/saharspec/matchers/ret.rb, line 11
def initialize(expected)
  @expected = expected
end

Public Instance Methods

description() click to toggle source
# File lib/saharspec/matchers/ret.rb, line 31
def description
  "return #{@expected.respond_to?(:description) ? @expected.description : @expected.inspect}"
end
diffable?() click to toggle source
# File lib/saharspec/matchers/ret.rb, line 27
def diffable?
  true
end
failure_message() click to toggle source
# File lib/saharspec/matchers/ret.rb, line 35
def failure_message
  case
  when !@subject.respond_to?(:call)
    "expected to #{description}, but was not callable"
  when @expected.respond_to?(:failure_message)
    "return value mismatch: #{@expected.failure_message}"
  else
    "expected to #{description}, but returned #{@actual.inspect}"
  end
end
failure_message_when_negated() click to toggle source
# File lib/saharspec/matchers/ret.rb, line 46
def failure_message_when_negated
  case
  when @expected.respond_to?(:failure_message_when_negated)
    "return value mismatch: #{@expected.failure_message_when_negated}"
  else
    "expected not to #{description}, but returned it"
  end
end
matches?(subject) click to toggle source
# File lib/saharspec/matchers/ret.rb, line 15
def matches?(subject)
  @subject = subject
  return false unless subject.respond_to?(:call)

  @actual = subject.call
  @expected === @actual
end
supports_block_expectations?() click to toggle source
# File lib/saharspec/matchers/ret.rb, line 23
def supports_block_expectations?
  true
end