From 5ff71ac9f844f2c8bcde8cdd5de767c9bdd4cc9e Mon Sep 17 00:00:00 2001 From: Ian Young Date: Sun, 4 Dec 2011 23:20:54 -0800 Subject: [PATCH] Don't tokenize string when counting characters --- activemodel/lib/active_model/validations/length.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/activemodel/lib/active_model/validations/length.rb b/activemodel/lib/active_model/validations/length.rb index 6bc928bab75..95a8ca49e9b 100644 --- a/activemodel/lib/active_model/validations/length.rb +++ b/activemodel/lib/active_model/validations/length.rb @@ -6,7 +6,6 @@ module ActiveModel MESSAGES = { :is => :wrong_length, :minimum => :too_short, :maximum => :too_long }.freeze CHECKS = { :is => :==, :minimum => :>=, :maximum => :<= }.freeze - DEFAULT_TOKENIZER = lambda { |value| value.split(//) } RESERVED_OPTIONS = [:minimum, :maximum, :within, :is, :tokenizer, :too_short, :too_long] def initialize(options) @@ -36,7 +35,7 @@ module ActiveModel end def validate_each(record, attribute, value) - value = (options[:tokenizer] || DEFAULT_TOKENIZER).call(value) if value.kind_of?(String) + value = options[:tokenizer].call(value) if value.kind_of?(String) && options[:tokenizer].present? CHECKS.each do |key, validity_check| next unless check_value = options[key]