rails/rails — pull request #10774 by chuckbergeron (2013-05-28 06:35:13+00:00)
Title: Greater accuracy for validates_inclusion_of on non-numeric ranges

Before this patch, validating on the inclusion of a value in the following range would be true:

validates :color, inclusion: { in: :a..:f } #=> :a, :b, :c, :d, :e, :f
p = Product.new(color: :be)
p.valid? => true

This uses the more accurate Range#include? if the range is made up of strings or symbols, while sticking to the faster Range#cover? for floats, fixnums, etc.

Fixes #10593