Я только что написал собственный тип DM, чтобы помочь мне с этим. Наследует от String и все такое прочее. Только сейчас я хотел бы иметь проверку по умолчанию. Итак, то, что мне как пользователю не нужно определять, просто неявно присутствует. Например, для атрибута логического типа, если вы передаете что-то, кроме true или false, это делает его объект недействительным. Я хотел бы иметь что-то подобное. Вы знаете, возможно ли это, и где в архитектуре это в лучшем случае вставить?
DataMapper: установка проверок по умолчанию для пользовательских типов
Ответы (1)
Я думаю, вы можете добавить его в метод dump
, например
def dump(value)
if valid_type?(value)
value
else
raise "Invalid type specified"
end
end
def valid_type?(value)
#your validation code
end
Другой способ — использовать одну из dm-validations.
В вашем случае это будет
#Skipping class Definition
property :something, Your_dm_type
validates_with_block :something do
if condition
true
else
[false, "Invalid property specified"]
end
Или другие проверки в соответствии с требованием
person
Mudassir Ali
schedule
28.12.2012