Add a few of my matchers for safekeeping
- ~
- rspec_matchers
- require_a_matcher.rb
| require_a_matcher.rb |
|---|
module ActiveRecordValidations
class RequireA
def initialize(expected)
@expected = expected
end
def matches?(target)
@target = target
@target.send("#{@expected}=", nil)
@target.valid?
@target.errors.on(@expected) == ActiveRecord::Errors.default_error_messages[:blank]
end
def failure_message
"expected #{@target.inspect} to require presence of #{@expected}"
end
def negative_failure_message
"expected #{@target.inspect} not to require presence of #{expected}"
end
end
def require_a(expected)
RequireA.new(expected)
end
alias_method :require_an, :require_a
end
include ActiveRecordValidations
