class RSpec::Matchers::BuiltIn::Has
Public Class Methods
new(expected, *args)
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 5 def initialize(expected, *args) @expected, @args = expected, args end
Public Instance Methods
description()
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 22 def description [method_description(@expected), args_description].compact.join(' ') end
failure_message_for_should()
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 14 def failure_message_for_should "expected ##{predicate(@expected)}#{failure_message_args_description} to return true, got false" end
failure_message_for_should_not()
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 18 def failure_message_for_should_not "expected ##{predicate(@expected)}#{failure_message_args_description} to return false, got true" end
matches?(actual)
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 9 def matches?(actual) actual.__send__(predicate(@expected), *@args) end
Also aliased as: ==
Private Instance Methods
args_description()
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 36 def args_description return nil if @args.empty? @args.map { |arg| arg.inspect }.join(', ') end
failure_message_args_description()
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 41 def failure_message_args_description desc = args_description "(#{desc})" if desc end
method_description(method)
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 32 def method_description(method) method.to_s.gsub('_', ' ') end
predicate(sym)
click to toggle source
# File lib/rspec/matchers/built_in/has.rb, line 28 def predicate(sym) "#{sym.to_s.sub("have_","has_")}?".to_sym end