mirror of
https://github.com/thoughtbot/shoulda-matchers.git
synced 2022-11-09 12:01:38 -05:00
![Kapil Sachdev](/assets/img/avatar_default.png)
- Layout/EmptyLines - Layout/EmptyLineAfterGuardClause - Layout/TrailingEmptyLines - Layout/EmptyLinesAroundBlockBody - Layout/EmptyLinesAroundModuleBody - Layout/EmptyLineAfterMagicComment - Layout/SpaceInsidePercentLiteralDelimiters - Layout/SpaceAroundEqualsInParameterDefault - Layout/SpaceInsideArrayLiteralBrackets - Layout/LeadingCommentSpace - Layout/SpaceBeforeComment - Layout/SpaceAroundOperators - Layout/SpaceInsideRangeLiteral - Layout/SpaceInsideReferenceBrackets - Layout/SpaceInLambdaLiteral - Layout/SpaceAfterComma - Layout/SpaceInsideHashLiteralBraces - Layout/TrailingWhitespace - Layout/ArgumentAlignment - Layout/HashAlignment - Layout/DotPosition - Layout/IndentationWidth - Layout/EndAlignment - Layout/MultilineOperationIndentation - Layout/IndentationConsistency - Layout/ClosingHeredocIndentation - Layout/MultilineMethodCallBrace- Layout - Layout/ClosingParenthesisIndentation
78 lines
1.7 KiB
Ruby
78 lines
1.7 KiB
Ruby
require 'forwardable'
|
|
|
|
module Shoulda
|
|
module Matchers
|
|
module ActiveModel
|
|
# @private
|
|
class DisallowValueMatcher
|
|
extend Forwardable
|
|
|
|
def_delegators(
|
|
:allow_matcher,
|
|
:_after_setting_value,
|
|
:attribute_changed_value_message=,
|
|
:attribute_to_set,
|
|
:description,
|
|
:expects_strict?,
|
|
:failure_message_preface,
|
|
:failure_message_preface=,
|
|
:ignore_interference_by_writer,
|
|
:last_attribute_setter_used,
|
|
:last_value_set,
|
|
:model,
|
|
:simple_description,
|
|
:values_to_preset=,
|
|
)
|
|
|
|
def initialize(value)
|
|
@allow_matcher = AllowValueMatcher.new(value)
|
|
end
|
|
|
|
def matches?(subject)
|
|
allow_matcher.does_not_match?(subject)
|
|
end
|
|
|
|
def does_not_match?(subject)
|
|
allow_matcher.matches?(subject)
|
|
end
|
|
|
|
def for(attribute)
|
|
allow_matcher.for(attribute)
|
|
self
|
|
end
|
|
|
|
def on(context)
|
|
allow_matcher.on(context)
|
|
self
|
|
end
|
|
|
|
def with_message(message, options = {})
|
|
allow_matcher.with_message(message, options)
|
|
self
|
|
end
|
|
|
|
def strict(strict = true)
|
|
allow_matcher.strict(strict)
|
|
self
|
|
end
|
|
|
|
def ignoring_interference_by_writer(value = :always)
|
|
allow_matcher.ignoring_interference_by_writer(value)
|
|
self
|
|
end
|
|
|
|
def failure_message
|
|
allow_matcher.failure_message_when_negated
|
|
end
|
|
|
|
def failure_message_when_negated
|
|
allow_matcher.failure_message
|
|
end
|
|
|
|
protected
|
|
|
|
attr_reader :allow_matcher
|
|
end
|
|
end
|
|
end
|
|
end
|