class Mongoid::Matchers::Validations::ValidateExclusionOfMatcher
Public Class Methods
new(name)
click to toggle source
Calls superclass method
Mongoid::Matchers::Validations::HaveValidationMatcher::new
# File lib/matchers/validations/exclusion_of.rb, line 5 def initialize(name) super(name, :exclusion) end
Public Instance Methods
description()
click to toggle source
Calls superclass method
Mongoid::Matchers::Validations::HaveValidationMatcher#description
# File lib/matchers/validations/exclusion_of.rb, line 37 def description options_desc = [] options_desc << " not allowing the ff. values: #{@not_allowed_values}" if @not_allowed_values super << options_desc.to_sentence end
matches?(actual)
click to toggle source
Calls superclass method
Mongoid::Matchers::Validations::HaveValidationMatcher#matches?
# File lib/matchers/validations/exclusion_of.rb, line 14 def matches?(actual) return false unless result = super(actual) if @not_allowed_values raw_validator_not_allowed_values = @validator.options[:in] validator_not_allowed_values = case raw_validator_not_allowed_values when Range then raw_validator_not_allowed_values.to_a when Proc then raw_validator_not_allowed_values.call(actual) else raw_validator_not_allowed_values end allowed_values = @not_allowed_values - validator_not_allowed_values if allowed_values.empty? @positive_result_message = @positive_result_message << " not allowing all values mentioned" else @negative_result_message = @negative_result_message << " allowing the following the ff. values: #{allowed_values.inspect}" result = false end end result end
to_not_allow(*values)
click to toggle source
# File lib/matchers/validations/exclusion_of.rb, line 9 def to_not_allow(*values) @not_allowed_values = [values].flatten self end