client_side_validations 10.1.0 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe9e6b756ca9e50387f0e0dce9795c2557e74a8c
4
- data.tar.gz: bc28a27c47a4ec810d085579e15772cb6c5a6f20
3
+ metadata.gz: 7b12e94a9904b5e558739d60fd18acc2b0412c08
4
+ data.tar.gz: 3d8a0892aeb96e18f017b60f70cc6df27c6dfcb1
5
5
  SHA512:
6
- metadata.gz: 51fbd4b33f1a5fde9020be5abf9b923e604601dc316aa2b0a419c06531b18a32923897f3ec58d79fc415088bd391a479d316e7034e2110fbb0806f3f3a36be37
7
- data.tar.gz: 7e9b4151582d5148cb16ca0804b5fd2648e1b7e77a3303db4cb8d6b00dcc5b9f9c91d021ac05e96782c3c5c7188f7533af20b18383d09e1068c2e2d61803528a
6
+ metadata.gz: a67ca10301f05fdbc9ce9b1fdf619f0a8ef47a5d55b7ad3b569f4eebbfacebb1c0e60c525ea123b2e4ee918f824ed369ac151cea933af83623ddc33c6354e27e
7
+ data.tar.gz: e61947d28c58c11615d84b988a6b94d49ed5c2888c07de793bfe2bcd9dad3dc2546d5eda74af5b28d7f1c539b5eede57ff500f7dca9cdbb668f0d7706b71ea51
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 11.0.0 / 2017-11-29
4
+
5
+ * [BUGFIX] Fix association validations (potential breaking change) ([#712](https://github.com/DavyJonesLocker/client_side_validations/issues/712))
6
+
3
7
  ## 10.1.0 / 2017-11-28
4
8
 
5
9
  * [FEATURE] Rails 5.2.0.beta2 support
@@ -88,12 +88,26 @@ module ClientSideValidations
88
88
  validation_hash = object_opts[0].client_side_validation_hash(option_hash)
89
89
 
90
90
  option_hash.each_key do |attr|
91
- next unless validation_hash.key?(attr)
92
- validator_hash[object_opts[1][attr][:name]] = validation_hash[attr]
91
+ add_validator validator_hash, validation_hash, object_opts[1][attr][:name], attr
93
92
  end
94
93
  end
95
94
  end
96
95
 
96
+ def add_validator(validator_hash, validation_hash, name, attr)
97
+ if validation_hash.key?(attr)
98
+ validator_hash[name] = validation_hash[attr]
99
+ elsif attr.to_s.ends_with?('_id')
100
+ add_validator_with_association validator_hash, validation_hash, name, attr
101
+ end
102
+ end
103
+
104
+ def add_validator_with_association(validator_hash, validation_hash, name, attr)
105
+ association_name = attr.to_s.gsub(/_id\Z/, '').to_sym
106
+ return unless validation_hash.key?(association_name)
107
+
108
+ validator_hash[name] = validation_hash[association_name]
109
+ end
110
+
97
111
  def number_format
98
112
  if ClientSideValidations::Config.number_format_with_locale && defined?(I18n)
99
113
  I18n.t('number.format').slice :separator, :delimiter
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ClientSideValidations
4
- VERSION = '10.1.0'.freeze
4
+ VERSION = '11.0.0'.freeze
5
5
  end
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*!
3
- * Client Side Validations - v10.1.0 (https://github.com/DavyJonesLocker/client_side_validations)
3
+ * Client Side Validations - v11.0.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: 10.1.0
4
+ version: 11.0.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-11-28 00:00:00.000000000 Z
12
+ date: 2017-11-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails