lib/validators/phony_validator.rb in phony_rails-0.5.0 vs lib/validators/phony_validator.rb in phony_rails-0.6.0
- old
+ new
@@ -4,10 +4,30 @@
class PhonyPlausibleValidator < ActiveModel::EachValidator
# Validates a String using Phony.plausible? method.
def validate_each(record, attribute, value)
return if value.blank?
- record.errors.add(attribute, options[:message] || :improbable_phone) if not Phony.plausible?(value, cc: options[:country_code])
+
+ @record = record
+ @record.errors.add(attribute, error_message) if not Phony.plausible?(value, cc: country_code_or_country_number)
+ end
+
+ private
+
+ def error_message
+ options[:message] || :improbable_phone
+ end
+
+ def country_code_or_country_number
+ options[:country_code] || record_country_number || record_country_code
+ end
+
+ def record_country_number
+ @record.country_number if @record.respond_to?(:country_number)
+ end
+
+ def record_country_code
+ @record.country_code if @record.respond_to?(:country_code)
end
end
module ActiveModel