Class: Expect::RespondTo

Inherits:
ExpectBase show all
Defined in:
lib/expect.rb

Overview

Checks if actual responds to a method

Instance Attribute Summary

Attributes inherited from ExpectBase

#actual, #expected

Instance Method Summary collapse

Constructor Details

#initialize(actual, method) ⇒ RespondTo

Returns a new instance of RespondTo.



117
118
119
120
# File 'lib/expect.rb', line 117

def initialize(actual, method)
  super(actual: actual)
  @method = method
end

Instance Method Details

#runAssertPass, AssertFailure

Runs the validator and returns an AssertResult



124
125
126
127
128
129
# File 'lib/expect.rb', line 124

def run
  return AssertPass.new if @actual.respond_to?(@method)

  @actual = @actual.nil? ? '<nil>' : @actual
  AssertFailure.new("RespondsTo failed: Expected #{@actual} to respond to #{@method}.")
end