--- /dev/null
+class SyncVhValidator < ActiveModel::EachValidator\r
+ def validate_each(record, attribute, value)\r
+ if record.picture.flag_sync_vh < 0\r
+ record.errors[attribute] << (options[:message] || "sync_vh") unless sync?(record)\r
+ end\r
+ end\r
+ \r
+ def sync?(record)\r
+ r = record.width * 100 / record.height\r
+ r2 = record.picture.width * 100 / record.picture.height\r
+ (r >= r2 - 1) and (r <= r2 + 1)\r
+ end\r
+ \r
+end\r
+\r