client_side_validations 10.1.0 → 11.0.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 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