client_side_validations 9.1.0 → 9.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/client_side_validations.rb +1 -0
- data/lib/client_side_validations/action_view.rb +1 -0
- data/lib/client_side_validations/action_view/form_builder.rb +1 -0
- data/lib/client_side_validations/active_model.rb +13 -8
- data/lib/client_side_validations/active_model/absence.rb +1 -0
- data/lib/client_side_validations/active_model/acceptance.rb +1 -0
- data/lib/client_side_validations/active_model/conditionals.rb +1 -0
- data/lib/client_side_validations/active_model/exclusion.rb +1 -0
- data/lib/client_side_validations/active_model/format.rb +1 -0
- data/lib/client_side_validations/active_model/inclusion.rb +1 -0
- data/lib/client_side_validations/active_model/length.rb +11 -3
- data/lib/client_side_validations/active_model/numericality.rb +17 -8
- data/lib/client_side_validations/active_model/presence.rb +1 -0
- data/lib/client_side_validations/active_record.rb +1 -0
- data/lib/client_side_validations/active_record/uniqueness.rb +1 -0
- data/lib/client_side_validations/config.rb +1 -0
- data/lib/client_side_validations/core_ext.rb +1 -0
- data/lib/client_side_validations/core_ext/range.rb +1 -0
- data/lib/client_side_validations/core_ext/regexp.rb +1 -0
- data/lib/client_side_validations/engine.rb +1 -0
- data/lib/client_side_validations/extender.rb +1 -0
- data/lib/client_side_validations/files.rb +1 -0
- data/lib/client_side_validations/generators.rb +1 -0
- data/lib/client_side_validations/generators/rails_validations.rb +1 -0
- data/lib/client_side_validations/version.rb +1 -1
- data/lib/generators/client_side_validations/copy_assets_generator.rb +1 -0
- data/lib/generators/client_side_validations/install_generator.rb +1 -0
- data/lib/generators/templates/client_side_validations/initializer.rb +1 -0
- data/vendor/assets/javascripts/rails.validations.js +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c97aaa7e427726552ee50a3c5ef04aefb79df5d
|
4
|
+
data.tar.gz: 01ba6bb6c9d6219ee83a27cf2615c6571680f6d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21557913adad69294d2b05244bdf6b317f40cb38fe355335133b8e615b18e7c29d1828db4feb4565d1af955132b6f0c246b36821b8475bed3de791ef699eb699
|
7
|
+
data.tar.gz: 16c28cb2b54cc7ea8a961e21b25781dbb6fd14d243f2baac9e95a2bf6626b308ab78b63518e0626bd92a2815e78de04c18dc9f76320d5c055e240cbae2d7bd9a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 9.2.0 / 2017-03-23
|
4
|
+
|
5
|
+
* [ENHANCEMENT] Use Ruby 2.3's Frozen String Literal Pragma
|
6
|
+
* [ENHANCEMENT] Code cleanup
|
7
|
+
* [ENHANCEMENT] Test against Ruby 2.4.1 and Rails 5.1.0.rc1
|
8
|
+
* [ENHANCEMENT] Test against jQuery 3.2.0 and 3.2.1
|
9
|
+
* [ENHANCEMENT] Update jquery-rails runtime depenency to 4.3
|
10
|
+
* [ENHANCEMENT] Update development dependencies
|
11
|
+
|
3
12
|
## 9.1.0 / 2017-03-07
|
4
13
|
|
5
14
|
* [ENHANCEMENT] Rails 5.1 compatibility
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'client_side_validations/core_ext'
|
2
3
|
require 'client_side_validations/extender'
|
3
4
|
require 'client_side_validations/active_model/conditionals'
|
@@ -31,14 +32,7 @@ module ClientSideValidations
|
|
31
32
|
_validators.inject({}) do |attr_hash, attr|
|
32
33
|
return attr_hash if [nil, :block].include?(attr[0])
|
33
34
|
|
34
|
-
validator_hash = attr
|
35
|
-
next unless can_use_for_client_side_validation?(attr[0], validator, force)
|
36
|
-
|
37
|
-
client_side_hash = validator.client_side_hash(self, attr[0], extract_force_option(attr[0], force))
|
38
|
-
if client_side_hash
|
39
|
-
kind_hash[validator.kind] << client_side_hash.except(:on, :if, :unless)
|
40
|
-
end
|
41
|
-
end
|
35
|
+
validator_hash = validator_hash_for(attr, force)
|
42
36
|
|
43
37
|
if validator_hash.present?
|
44
38
|
attr_hash.merge!(attr[0] => validator_hash)
|
@@ -50,6 +44,17 @@ module ClientSideValidations
|
|
50
44
|
|
51
45
|
private
|
52
46
|
|
47
|
+
def validator_hash_for(attr, force)
|
48
|
+
attr[1].each_with_object(Hash.new { |h, k| h[k] = [] }) do |validator, kind_hash|
|
49
|
+
next unless can_use_for_client_side_validation?(attr[0], validator, force)
|
50
|
+
|
51
|
+
client_side_hash = validator.client_side_hash(self, attr[0], extract_force_option(attr[0], force))
|
52
|
+
if client_side_hash
|
53
|
+
kind_hash[validator.kind] << client_side_hash.except(:on, :if, :unless)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
53
58
|
def extract_force_option(attr, force)
|
54
59
|
case force
|
55
60
|
when FalseClass, TrueClass, NilClass
|
@@ -1,11 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ClientSideValidations
|
2
3
|
module ActiveModel
|
3
4
|
module Length
|
4
5
|
def client_side_hash(model, attribute, _force = nil)
|
5
6
|
options = self.options.dup
|
6
|
-
hash =
|
7
|
-
hash[:js_tokenizer] = options[:js_tokenizer] if options[:js_tokenizer]
|
8
|
-
hash[:allow_blank] = true if options[:allow_blank]
|
7
|
+
hash = options_hash(options)
|
9
8
|
|
10
9
|
self.class::MESSAGES.each do |option, message_type|
|
11
10
|
count = options[option]
|
@@ -21,6 +20,15 @@ module ClientSideValidations
|
|
21
20
|
|
22
21
|
hash
|
23
22
|
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def options_hash(options)
|
27
|
+
hash = { messages: {} }
|
28
|
+
hash[:js_tokenizer] = options[:js_tokenizer] if options[:js_tokenizer]
|
29
|
+
hash[:allow_blank] = true if options[:allow_blank]
|
30
|
+
hash
|
31
|
+
end
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ClientSideValidations
|
2
3
|
module ActiveModel
|
3
4
|
module Numericality
|
@@ -9,14 +10,7 @@ module ClientSideValidations
|
|
9
10
|
|
10
11
|
def client_side_hash(model, attribute, force = nil)
|
11
12
|
options = self.options.dup
|
12
|
-
hash =
|
13
|
-
|
14
|
-
if options[:only_integer]
|
15
|
-
hash[:messages][:only_integer] = model.errors.generate_message(attribute, :not_an_integer, options)
|
16
|
-
hash[:only_integer] = true
|
17
|
-
end
|
18
|
-
|
19
|
-
hash[:allow_blank] = true if options[:allow_nil] || options[:allow_blank]
|
13
|
+
hash = options_hash(model, attribute, options)
|
20
14
|
|
21
15
|
@@option_map.each do |option, message_type|
|
22
16
|
count = options[option]
|
@@ -35,6 +29,21 @@ module ClientSideValidations
|
|
35
29
|
|
36
30
|
hash
|
37
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def options_hash(model, attribute, options)
|
36
|
+
hash = { messages: { numericality: model.errors.generate_message(attribute, :not_a_number, options) } }
|
37
|
+
|
38
|
+
if options[:only_integer]
|
39
|
+
hash[:messages][:only_integer] = model.errors.generate_message(attribute, :not_an_integer, options)
|
40
|
+
hash[:only_integer] = true
|
41
|
+
end
|
42
|
+
|
43
|
+
hash[:allow_blank] = true if options[:allow_nil] || options[:allow_blank]
|
44
|
+
|
45
|
+
hash
|
46
|
+
end
|
38
47
|
end
|
39
48
|
end
|
40
49
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
/*!
|
3
|
-
* Client Side Validations - v9.
|
3
|
+
* Client Side Validations - v9.2.0 (https://github.com/DavyJonesLocker/client_side_validations)
|
4
4
|
* Copyright (c) 2017 Geremia Taglialatela, Brian Cardarella
|
5
5
|
* Licensed under MIT (http://opensource.org/licenses/mit-license.php)
|
6
6
|
*/
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: client_side_validations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geremia Taglialatela
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-03-
|
12
|
+
date: 2017-03-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -37,14 +37,14 @@ dependencies:
|
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '4.
|
40
|
+
version: '4.3'
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '4.
|
47
|
+
version: '4.3'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: js_regex
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,14 +205,14 @@ dependencies:
|
|
205
205
|
requirements:
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version: 2.0.0.
|
208
|
+
version: 2.0.0.rc2
|
209
209
|
type: :development
|
210
210
|
prerelease: false
|
211
211
|
version_requirements: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 2.0.0.
|
215
|
+
version: 2.0.0.rc2
|
216
216
|
- !ruby/object:Gem::Dependency
|
217
217
|
name: shotgun
|
218
218
|
requirement: !ruby/object:Gem::Requirement
|
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
316
316
|
version: '0'
|
317
317
|
requirements: []
|
318
318
|
rubyforge_project:
|
319
|
-
rubygems_version: 2.6.
|
319
|
+
rubygems_version: 2.6.11
|
320
320
|
signing_key:
|
321
321
|
specification_version: 4
|
322
322
|
summary: Client Side Validations
|