lib/matchers/validations/inclusion_of.rb in mongoid-rspec-1.5.1 vs lib/matchers/validations/inclusion_of.rb in mongoid-rspec-1.5.3

- old
+ new

@@ -11,12 +11,19 @@ self end def matches?(actual) return false unless result = super(actual) - + if @allowed_values - not_allowed_values = @allowed_values - @validator.options[:in].to_a + raw_validator_allowed_values = @validator.options[:in] + + validator_allowed_values = case raw_validator_allowed_values + when Range then raw_validator_allowed_values.to_a + when Proc then raw_validator_allowed_values.call(actual) + else raw_validator_allowed_values end + + not_allowed_values = @allowed_values - validator_allowed_values if not_allowed_values.empty? @positive_result_message = @positive_result_message << " allowing all values mentioned" else @negative_result_message = @negative_result_message << " not allowing the following the ff. values: #{not_allowed_values.inspect}" result = false \ No newline at end of file