OSDN Git Service

92c3a078f8c8e69a57aaaad7969a9cd4233fcbf9
[pettanr/pettanr.git] / lib / validators / sync_vh_validator.rb
1 class SyncVhValidator < ActiveModel::EachValidator\r
2   def validate_each(record, attribute, value)\r
3     if record.picture and record.picture.flag_sync_vh < 0\r
4       record.errors[attribute] << (options[:message] || I18n.t('activerecord.errors.messages.sync_vh')) unless sync?(record)\r
5     end\r
6   end\r
7   \r
8   def sync?(record)\r
9     r = record.width * 100 / record.height\r
10     r2 = record.picture.width * 100 / record.picture.height\r
11     (r >= r2 - 1) and (r <= r2 + 1)\r
12   end\r
13   \r
14 end\r
15 \r