From 14fa8dc06623f275c236dd26a314a50929af7554 Mon Sep 17 00:00:00 2001 From: Lucas Mazza Date: Wed, 16 Nov 2016 10:01:25 -0200 Subject: [PATCH] Cleanup `Minlength` internals using the same format as `Maxlength`. --- lib/simple_form/components/minlength.rb | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/simple_form/components/minlength.rb b/lib/simple_form/components/minlength.rb index 8dc8d126..8635b179 100644 --- a/lib/simple_form/components/minlength.rb +++ b/lib/simple_form/components/minlength.rb @@ -15,10 +15,7 @@ module SimpleForm minlength else length_validator = find_length_validator - - if length_validator && !has_tokenizer?(length_validator) - length_validator.options[:is] || length_validator.options[:minimum] - end + minimum_length_value_from(length_validator) end end @@ -29,6 +26,22 @@ module SimpleForm def has_tokenizer?(length_validator) length_validator.options[:tokenizer] end + + # Use validation with tokenizer if version of Rails is less than 5, + # if not validate without the tokenizer, if version is greater than Rails 4. + if ActionPack::VERSION::STRING < '5' + def minimum_length_value_from(length_validator) + if length_validator && !has_tokenizer?(length_validator) + length_validator.options[:is] || length_validator.options[:minimum] + end + end + elsif ActionPack::VERSION::STRING >= '5' + def minimum_length_value_from(length_validator) + if length_validator + length_validator.options[:is] || length_validator.options[:minimum] + end + end + end end end end