client_side_validations 9.1.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|