Class: Spec::Matchers::RespondTo
- Defined in:
- lib/spec/matchers/respond_to.rb
Overview
:nodoc:
Instance Method Summary collapse
- #argument ⇒ Object (also: #arguments)
- #description ⇒ Object
- #failure_message_for_should ⇒ Object
- #failure_message_for_should_not ⇒ Object
-
#initialize(*names) ⇒ RespondTo
constructor
A new instance of RespondTo.
- #matches?(actual) ⇒ Boolean
- #with(n) ⇒ Object
Constructor Details
#initialize(*names) ⇒ RespondTo
Returns a new instance of RespondTo.
5 6 7 8 9 |
# File 'lib/spec/matchers/respond_to.rb', line 5 def initialize(*names) @names = names @expected_arity = nil @names_not_responded_to = [] end |
Instance Method Details
#argument ⇒ Object Also known as: arguments
36 37 38 |
# File 'lib/spec/matchers/respond_to.rb', line 36 def argument self end |
#description ⇒ Object
27 28 29 |
# File 'lib/spec/matchers/respond_to.rb', line 27 def description "respond to #{pp_names}#{with_arity}" end |
#failure_message_for_should ⇒ Object
19 20 21 |
# File 'lib/spec/matchers/respond_to.rb', line 19 def "expected #{@actual.inspect} to respond to #{@names_not_responded_to.collect {|name| name.inspect }.join(', ')}#{with_arity}" end |
#failure_message_for_should_not ⇒ Object
23 24 25 |
# File 'lib/spec/matchers/respond_to.rb', line 23 def "expected #{@actual.inspect} not to respond to #{@names.collect {|name| name.inspect }.join(', ')}" end |
#matches?(actual) ⇒ Boolean
11 12 13 14 15 16 17 |
# File 'lib/spec/matchers/respond_to.rb', line 11 def matches?(actual) @actual = actual @names.each do |name| @names_not_responded_to << name unless actual.respond_to?(name) && matches_arity?(actual, name) end return @names_not_responded_to.empty? end |
#with(n) ⇒ Object
31 32 33 34 |
# File 'lib/spec/matchers/respond_to.rb', line 31 def with(n) @expected_arity = n self end |