rails4_client_side_validations 0.0.4 → 4.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -7
  3. data/lib/client_side_validations.rb +12 -0
  4. data/lib/client_side_validations/action_view.rb +13 -0
  5. data/lib/client_side_validations/action_view/form_builder.rb +105 -0
  6. data/lib/{rails4_client_side_validations → client_side_validations}/action_view/form_helper.rb +13 -17
  7. data/lib/client_side_validations/action_view/form_tag_helper.rb +11 -0
  8. data/lib/{rails4_client_side_validations → client_side_validations}/active_model.rb +31 -9
  9. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/absence.rb +1 -2
  10. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/acceptance.rb +1 -2
  11. data/lib/client_side_validations/active_model/exclusion.rb +7 -0
  12. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/format.rb +1 -2
  13. data/lib/client_side_validations/active_model/inclusion.rb +7 -0
  14. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/length.rb +3 -4
  15. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/numericality.rb +3 -4
  16. data/lib/{rails4_client_side_validations → client_side_validations}/active_model/presence.rb +1 -2
  17. data/lib/client_side_validations/active_record.rb +12 -0
  18. data/lib/{rails4_client_side_validations → client_side_validations}/active_record/middleware.rb +10 -6
  19. data/lib/{rails4_client_side_validations → client_side_validations}/active_record/uniqueness.rb +8 -6
  20. data/lib/{rails4_client_side_validations → client_side_validations}/config.rb +1 -1
  21. data/lib/client_side_validations/core_ext.rb +3 -0
  22. data/lib/{rails4_client_side_validations → client_side_validations}/core_ext/range.rb +0 -1
  23. data/lib/client_side_validations/core_ext/regexp.rb +25 -0
  24. data/lib/client_side_validations/engine.rb +5 -0
  25. data/lib/{rails4_client_side_validations → client_side_validations}/files.rb +2 -2
  26. data/lib/{rails4_client_side_validations → client_side_validations}/generators.rb +2 -3
  27. data/lib/client_side_validations/generators/rails_validations.rb +14 -0
  28. data/lib/{rails4_client_side_validations → client_side_validations}/middleware.rb +61 -16
  29. data/lib/client_side_validations/version.rb +3 -0
  30. data/lib/generators/{rails4_client_side_validations → client_side_validations}/copy_assets_generator.rb +3 -5
  31. data/lib/generators/client_side_validations/install_generator.rb +21 -0
  32. data/lib/generators/templates/{rails4_client_side_validations → client_side_validations}/initializer.rb +4 -4
  33. data/vendor/assets/javascripts/rails.validations.js +111 -98
  34. metadata +141 -81
  35. data/lib/generators/rails4_client_side_validations/install_generator.rb +0 -22
  36. data/lib/rails4_client_side_validations.rb +0 -13
  37. data/lib/rails4_client_side_validations/action_view.rb +0 -14
  38. data/lib/rails4_client_side_validations/action_view/form_builder.rb +0 -105
  39. data/lib/rails4_client_side_validations/action_view/form_tag_helper.rb +0 -12
  40. data/lib/rails4_client_side_validations/active_model/exclusion.rb +0 -27
  41. data/lib/rails4_client_side_validations/active_model/inclusion.rb +0 -26
  42. data/lib/rails4_client_side_validations/active_record.rb +0 -12
  43. data/lib/rails4_client_side_validations/core_ext.rb +0 -3
  44. data/lib/rails4_client_side_validations/core_ext/regexp.rb +0 -13
  45. data/lib/rails4_client_side_validations/engine.rb +0 -6
  46. data/lib/rails4_client_side_validations/generators/rails_validations.rb +0 -15
  47. data/lib/rails4_client_side_validations/version.rb +0 -3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails4_client_side_validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vassil Kalkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-25 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,72 +16,132 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 4.3.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '4.0'
29
+ version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 4.3.0
27
33
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
34
+ name: jquery-rails
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
39
+ version: 3.1.2
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: 5.0.0
43
+ type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - ">="
39
48
  - !ruby/object:Gem::Version
40
- version: '0'
49
+ version: 3.1.2
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: 5.0.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: sqlite3
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.3'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.3'
41
67
  - !ruby/object:Gem::Dependency
42
68
  name: mocha
43
69
  requirement: !ruby/object:Gem::Requirement
44
70
  requirements:
45
- - - ">="
71
+ - - "~>"
46
72
  - !ruby/object:Gem::Version
47
- version: '0'
73
+ version: '1.1'
48
74
  type: :development
49
75
  prerelease: false
50
76
  version_requirements: !ruby/object:Gem::Requirement
51
77
  requirements:
52
- - - ">="
78
+ - - "~>"
53
79
  - !ruby/object:Gem::Version
54
- version: '0'
80
+ version: '1.1'
55
81
  - !ruby/object:Gem::Dependency
56
82
  name: m
57
83
  requirement: !ruby/object:Gem::Requirement
58
84
  requirements:
59
- - - ">="
85
+ - - "~>"
60
86
  - !ruby/object:Gem::Version
61
- version: '0'
87
+ version: '1.3'
62
88
  type: :development
63
89
  prerelease: false
64
90
  version_requirements: !ruby/object:Gem::Requirement
65
91
  requirements:
66
- - - ">="
92
+ - - "~>"
67
93
  - !ruby/object:Gem::Version
68
- version: '0'
94
+ version: '1.3'
69
95
  - !ruby/object:Gem::Dependency
70
- name: rake
96
+ name: minitest
71
97
  requirement: !ruby/object:Gem::Requirement
72
98
  requirements:
73
99
  - - ">="
74
100
  - !ruby/object:Gem::Version
75
- version: '0'
101
+ version: 4.7.5
102
+ - - "<"
103
+ - !ruby/object:Gem::Version
104
+ version: 6.0.0
76
105
  type: :development
77
106
  prerelease: false
78
107
  version_requirements: !ruby/object:Gem::Requirement
79
108
  requirements:
80
109
  - - ">="
81
110
  - !ruby/object:Gem::Version
82
- version: '0'
111
+ version: 4.7.5
112
+ - - "<"
113
+ - !ruby/object:Gem::Version
114
+ version: 6.0.0
83
115
  - !ruby/object:Gem::Dependency
84
- name: sinatra
116
+ name: simplecov
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: 0.9.1
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: 0.9.1
129
+ - !ruby/object:Gem::Dependency
130
+ name: coveralls
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: 0.7.3
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - "~>"
141
+ - !ruby/object:Gem::Version
142
+ version: 0.7.3
143
+ - !ruby/object:Gem::Dependency
144
+ name: appraisal
85
145
  requirement: !ruby/object:Gem::Requirement
86
146
  requirements:
87
147
  - - "~>"
@@ -95,89 +155,89 @@ dependencies:
95
155
  - !ruby/object:Gem::Version
96
156
  version: '1.0'
97
157
  - !ruby/object:Gem::Dependency
98
- name: shotgun
158
+ name: byebug
99
159
  requirement: !ruby/object:Gem::Requirement
100
160
  requirements:
101
- - - ">="
161
+ - - "~>"
102
162
  - !ruby/object:Gem::Version
103
- version: '0'
163
+ version: '3.5'
104
164
  type: :development
105
165
  prerelease: false
106
166
  version_requirements: !ruby/object:Gem::Requirement
107
167
  requirements:
108
- - - ">="
168
+ - - "~>"
109
169
  - !ruby/object:Gem::Version
110
- version: '0'
170
+ version: '3.5'
111
171
  - !ruby/object:Gem::Dependency
112
- name: thin
172
+ name: sinatra
113
173
  requirement: !ruby/object:Gem::Requirement
114
174
  requirements:
115
- - - ">="
175
+ - - "~>"
116
176
  - !ruby/object:Gem::Version
117
- version: '0'
177
+ version: '1.4'
118
178
  type: :development
119
179
  prerelease: false
120
180
  version_requirements: !ruby/object:Gem::Requirement
121
181
  requirements:
122
- - - ">="
182
+ - - "~>"
123
183
  - !ruby/object:Gem::Version
124
- version: '0'
184
+ version: '1.4'
125
185
  - !ruby/object:Gem::Dependency
126
- name: json
186
+ name: shotgun
127
187
  requirement: !ruby/object:Gem::Requirement
128
188
  requirements:
129
- - - ">="
189
+ - - "~>"
130
190
  - !ruby/object:Gem::Version
131
- version: '0'
191
+ version: '0.9'
132
192
  type: :development
133
193
  prerelease: false
134
194
  version_requirements: !ruby/object:Gem::Requirement
135
195
  requirements:
136
- - - ">="
196
+ - - "~>"
137
197
  - !ruby/object:Gem::Version
138
- version: '0'
198
+ version: '0.9'
139
199
  - !ruby/object:Gem::Dependency
140
- name: coffee-script
200
+ name: thin
141
201
  requirement: !ruby/object:Gem::Requirement
142
202
  requirements:
143
- - - ">="
203
+ - - "~>"
144
204
  - !ruby/object:Gem::Version
145
- version: '0'
205
+ version: '1.6'
146
206
  type: :development
147
207
  prerelease: false
148
208
  version_requirements: !ruby/object:Gem::Requirement
149
209
  requirements:
150
- - - ">="
210
+ - - "~>"
151
211
  - !ruby/object:Gem::Version
152
- version: '0'
212
+ version: '1.6'
153
213
  - !ruby/object:Gem::Dependency
154
- name: jquery-rails
214
+ name: json
155
215
  requirement: !ruby/object:Gem::Requirement
156
216
  requirements:
157
- - - ">="
217
+ - - "~>"
158
218
  - !ruby/object:Gem::Version
159
- version: '0'
219
+ version: '1.8'
160
220
  type: :development
161
221
  prerelease: false
162
222
  version_requirements: !ruby/object:Gem::Requirement
163
223
  requirements:
164
- - - ">="
224
+ - - "~>"
165
225
  - !ruby/object:Gem::Version
166
- version: '0'
226
+ version: '1.8'
167
227
  - !ruby/object:Gem::Dependency
168
- name: appraisal
228
+ name: coffee-script
169
229
  requirement: !ruby/object:Gem::Requirement
170
230
  requirements:
171
- - - ">="
231
+ - - "~>"
172
232
  - !ruby/object:Gem::Version
173
- version: '0'
233
+ version: '2.3'
174
234
  type: :development
175
235
  prerelease: false
176
236
  version_requirements: !ruby/object:Gem::Requirement
177
237
  requirements:
178
- - - ">="
238
+ - - "~>"
179
239
  - !ruby/object:Gem::Version
180
- version: '0'
240
+ version: '2.3'
181
241
  description: Client Side Validations for Rails 4
182
242
  email:
183
243
  - vassilkalkov@gmail.com
@@ -186,36 +246,36 @@ extensions: []
186
246
  extra_rdoc_files: []
187
247
  files:
188
248
  - README.md
189
- - lib/generators/rails4_client_side_validations/copy_assets_generator.rb
190
- - lib/generators/rails4_client_side_validations/install_generator.rb
191
- - lib/generators/templates/rails4_client_side_validations/initializer.rb
192
- - lib/rails4_client_side_validations.rb
193
- - lib/rails4_client_side_validations/action_view.rb
194
- - lib/rails4_client_side_validations/action_view/form_builder.rb
195
- - lib/rails4_client_side_validations/action_view/form_helper.rb
196
- - lib/rails4_client_side_validations/action_view/form_tag_helper.rb
197
- - lib/rails4_client_side_validations/active_model.rb
198
- - lib/rails4_client_side_validations/active_model/absence.rb
199
- - lib/rails4_client_side_validations/active_model/acceptance.rb
200
- - lib/rails4_client_side_validations/active_model/exclusion.rb
201
- - lib/rails4_client_side_validations/active_model/format.rb
202
- - lib/rails4_client_side_validations/active_model/inclusion.rb
203
- - lib/rails4_client_side_validations/active_model/length.rb
204
- - lib/rails4_client_side_validations/active_model/numericality.rb
205
- - lib/rails4_client_side_validations/active_model/presence.rb
206
- - lib/rails4_client_side_validations/active_record.rb
207
- - lib/rails4_client_side_validations/active_record/middleware.rb
208
- - lib/rails4_client_side_validations/active_record/uniqueness.rb
209
- - lib/rails4_client_side_validations/config.rb
210
- - lib/rails4_client_side_validations/core_ext.rb
211
- - lib/rails4_client_side_validations/core_ext/range.rb
212
- - lib/rails4_client_side_validations/core_ext/regexp.rb
213
- - lib/rails4_client_side_validations/engine.rb
214
- - lib/rails4_client_side_validations/files.rb
215
- - lib/rails4_client_side_validations/generators.rb
216
- - lib/rails4_client_side_validations/generators/rails_validations.rb
217
- - lib/rails4_client_side_validations/middleware.rb
218
- - lib/rails4_client_side_validations/version.rb
249
+ - lib/client_side_validations.rb
250
+ - lib/client_side_validations/action_view.rb
251
+ - lib/client_side_validations/action_view/form_builder.rb
252
+ - lib/client_side_validations/action_view/form_helper.rb
253
+ - lib/client_side_validations/action_view/form_tag_helper.rb
254
+ - lib/client_side_validations/active_model.rb
255
+ - lib/client_side_validations/active_model/absence.rb
256
+ - lib/client_side_validations/active_model/acceptance.rb
257
+ - lib/client_side_validations/active_model/exclusion.rb
258
+ - lib/client_side_validations/active_model/format.rb
259
+ - lib/client_side_validations/active_model/inclusion.rb
260
+ - lib/client_side_validations/active_model/length.rb
261
+ - lib/client_side_validations/active_model/numericality.rb
262
+ - lib/client_side_validations/active_model/presence.rb
263
+ - lib/client_side_validations/active_record.rb
264
+ - lib/client_side_validations/active_record/middleware.rb
265
+ - lib/client_side_validations/active_record/uniqueness.rb
266
+ - lib/client_side_validations/config.rb
267
+ - lib/client_side_validations/core_ext.rb
268
+ - lib/client_side_validations/core_ext/range.rb
269
+ - lib/client_side_validations/core_ext/regexp.rb
270
+ - lib/client_side_validations/engine.rb
271
+ - lib/client_side_validations/files.rb
272
+ - lib/client_side_validations/generators.rb
273
+ - lib/client_side_validations/generators/rails_validations.rb
274
+ - lib/client_side_validations/middleware.rb
275
+ - lib/client_side_validations/version.rb
276
+ - lib/generators/client_side_validations/copy_assets_generator.rb
277
+ - lib/generators/client_side_validations/install_generator.rb
278
+ - lib/generators/templates/client_side_validations/initializer.rb
219
279
  - vendor/assets/javascripts/rails.validations.js
220
280
  homepage: ''
221
281
  licenses: []
@@ -237,7 +297,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
297
  requirements:
238
298
  - none
239
299
  rubyforge_project:
240
- rubygems_version: 2.2.2
300
+ rubygems_version: 2.4.5
241
301
  signing_key:
242
302
  specification_version: 4
243
303
  summary: Client Side Validations for Rails 4
@@ -1,22 +0,0 @@
1
- require 'generators/rails4_client_side_validations/copy_assets_generator'
2
-
3
- module Rails4ClientSideValidations
4
- module Generators
5
- class InstallGenerator < CopyAssetsGenerator
6
-
7
- def copy_initializer
8
- source_paths << File.expand_path('../../templates/rails4_client_side_validations', __FILE__)
9
- copy_file 'initializer.rb', 'config/initializers/rails4_client_side_validations.rb'
10
- end
11
-
12
- private
13
-
14
- def self.installation_message
15
- "Copies initializer into config/initializers and #{super.downcase}"
16
- end
17
-
18
- desc installation_message
19
- end
20
- end
21
- end
22
-
@@ -1,13 +0,0 @@
1
- module Rails4ClientSideValidations
2
- end
3
-
4
- require 'rails4_client_side_validations/config'
5
- require 'rails4_client_side_validations/active_model' if defined?(::ActiveModel)
6
- require 'rails4_client_side_validations/active_record' if defined?(::ActiveRecord)
7
- require 'rails4_client_side_validations/action_view' if defined?(::ActionView)
8
- if defined?(::Rails)
9
- require 'rails4_client_side_validations/generators'
10
- require 'rails4_client_side_validations/middleware'
11
- require 'rails4_client_side_validations/engine'
12
- end
13
-
@@ -1,14 +0,0 @@
1
- module Rails4ClientSideValidations::ActionView
2
- module Helpers
3
- end
4
- end
5
-
6
- require 'rails4_client_side_validations/core_ext'
7
- require 'rails4_client_side_validations/action_view/form_helper'
8
- require 'rails4_client_side_validations/action_view/form_tag_helper'
9
- require 'rails4_client_side_validations/action_view/form_builder'
10
-
11
- ActionView::Base.send(:include, Rails4ClientSideValidations::ActionView::Helpers::FormHelper)
12
- ActionView::Base.send(:include, Rails4ClientSideValidations::ActionView::Helpers::FormTagHelper)
13
- ActionView::Helpers::FormBuilder.send(:include, Rails4ClientSideValidations::ActionView::Helpers::FormBuilder)
14
-
@@ -1,105 +0,0 @@
1
- module Rails4ClientSideValidations::ActionView::Helpers
2
- module FormBuilder
3
-
4
- def self.included(base)
5
- (base.field_helpers.map(&:to_s) - %w(apply_form_for_options! label check_box radio_button fields_for hidden_field)).each do |selector|
6
- base.class_eval <<-RUBY_EVAL
7
- def #{selector}_with_rails4_client_side_validations(method, options = {})
8
- build_validation_options(method, options)
9
- options.delete(:validate)
10
- #{selector}_without_rails4_client_side_validations(method, options)
11
- end
12
- RUBY_EVAL
13
-
14
- base.class_eval { alias_method_chain selector, :rails4_client_side_validations }
15
- end
16
-
17
- base.class_eval do
18
- alias_method_chain :initialize, :rails4_client_side_validations
19
- alias_method_chain :fields_for, :rails4_client_side_validations
20
- alias_method_chain :check_box, :rails4_client_side_validations
21
- alias_method_chain :radio_button, :rails4_client_side_validations
22
- alias_method_chain :select, :rails4_client_side_validations
23
- alias_method_chain :collection_select, :rails4_client_side_validations
24
- alias_method_chain :grouped_collection_select, :rails4_client_side_validations
25
- alias_method_chain :time_zone_select, :rails4_client_side_validations
26
-
27
- def client_side_form_settings(options, form_helper)
28
- {
29
- :type => self.class.to_s,
30
- :input_tag => form_helper.class.field_error_proc.call(%{<span id="input_tag" />}, Struct.new(:error_message, :tag_id).new([], "")),
31
- :label_tag => form_helper.class.field_error_proc.call(%{<label id="label_tag" />}, Struct.new(:error_message, :tag_id).new([], ""))
32
- }
33
- end
34
- end
35
- end
36
-
37
- def validate(*attrs)
38
- options = attrs.pop if attrs.last.is_a?(Hash)
39
- (attrs.present? ? attrs : @object._validators.keys).each do |attr|
40
- build_validation_options(attr, :validate => options)
41
- end
42
- nil
43
- end
44
-
45
- def initialize_with_rails4_client_side_validations(object_name, object, *args)
46
- initialize_without_rails4_client_side_validations(object_name, object, *args)
47
- @options[:validators] = { object => {} }
48
- end
49
-
50
- def fields_for_with_rails4_client_side_validations(record_or_name_or_array, *args, &block)
51
- options = args.extract_options!
52
- options[:validate] ||= @options[:validate] if @options[:validate] && !options.key?(:validate)
53
- fields_for_without_rails4_client_side_validations(record_or_name_or_array, *(args << options), &block)
54
- end
55
-
56
- def check_box_with_rails4_client_side_validations(method, options = {}, checked_value = "1", unchecked_value = "0")
57
- build_validation_options(method, options)
58
- options.delete(:validate)
59
- check_box_without_rails4_client_side_validations(method, options, checked_value, unchecked_value)
60
- end
61
-
62
- def radio_button_with_rails4_client_side_validations(method, tag_value, options = {})
63
- build_validation_options(method, options)
64
- options.delete(:validate)
65
- radio_button_without_rails4_client_side_validations(method, tag_value, options)
66
- end
67
-
68
- def select_with_rails4_client_side_validations(method, choices, options = {}, html_options = {})
69
- build_validation_options(method, html_options.merge(:name => options[:name]))
70
- html_options.delete(:validate)
71
- select_without_rails4_client_side_validations(method, choices, options, html_options)
72
- end
73
-
74
- def collection_select_with_rails4_client_side_validations(method, collection, value_method, text_method, options = {}, html_options = {})
75
- build_validation_options(method, html_options.merge(:name => options[:name]))
76
- html_options.delete(:validate)
77
- collection_select_without_rails4_client_side_validations(method, collection, value_method, text_method, options, html_options)
78
- end
79
-
80
- def grouped_collection_select_with_rails4_client_side_validations(method, collection, group_method, group_label_method, option_key_method, option_value_method, options = {}, html_options = {})
81
- build_validation_options(method, html_options.merge(:name => options[:name]))
82
- html_options.delete(:validate)
83
- grouped_collection_select_without_rails4_client_side_validations(method, collection, group_method, group_label_method, option_key_method, option_value_method, options, html_options)
84
- end
85
-
86
- def time_zone_select_with_rails4_client_side_validations(method, priority_zones = nil, options = {}, html_options = {})
87
- build_validation_options(method, html_options.merge(:name => options[:name]))
88
- html_options.delete(:validate)
89
- time_zone_select_without_rails4_client_side_validations(method, priority_zones, options, html_options)
90
- end
91
-
92
- private
93
-
94
- def build_validation_options(method, options = {})
95
- if @options[:validate]
96
- index = @default_options[:index].present? ? "[#{@default_options[:index]}]" : ''
97
- name = options[:name] || "#{@object_name}#{index}[#{method}]"
98
- child_index = @options[:child_index] ? "(\\d+|#{Regexp.escape(@options[:child_index].to_s)})" : "\\d+"
99
- name = name.to_s.gsub(/_attributes\]\[#{child_index}\]/, '_attributes][]')
100
- name = "#{name}#{options[:multiple] ? "[]" : nil}"
101
- @options[:validators][@object][method] = { :name => name, :options => options[:validate] }
102
- end
103
- end
104
- end
105
- end