Sha256: a3ea4b3fa4d01347f5c3ccf3fcb8f7f0345cf57a47cb6b83bfb125a44863c54b
Contents?: true
Size: 785 Bytes
Versions: 19
Compression:
Stored size: 785 Bytes
Contents
module Spec module Matchers class Has def initialize(expected, *args, &block) @expected, @args, @block = expected, args, block end def matches?(actual) actual.__send__(predicate(@expected), *@args, &@block) end def failure_message_for_should "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return true, got false" end def failure_message_for_should_not "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return false, got true" end def description "have key #{@args[0].inspect}" end private def predicate(sym) "#{sym.to_s.sub("have_","has_")}?".to_sym end end end end
Version data entries
19 entries across 19 versions & 7 rubygems