Валидаторы обычно имеют параметр массива, указывающий, во-первых, поля для проверки и, наконец, (если он существует) хеш с параметрами. В вашем примере:
:my_custom_validation, parameter1: x, parameter2: y
: my_custom_validation будет именем поля, а параметр 1: x, параметром 2: y будет хеш:
{ parameter1: x, parameter2: y}
Поэтому вы бы сделали что-то вроде:
def my_custom_validation(*attr)
options = attr.pop if attr.last.is_a? Hash
# do something with options
errors.add_to_base("error message") if condition.exists?
end