rails4_client_side_validations 0.0.4 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ad7d2b05a00e5ce63f9a1e7443fd0d991d2f6f3
4
- data.tar.gz: 9611698a23af73868534bcb49b7a619eb658f92d
3
+ metadata.gz: d8b093c6b17d7b641997d3bfbbb4e98726b1de02
4
+ data.tar.gz: 62995c5131322f8dcd4d67a7c8c551906a71a34c
5
5
  SHA512:
6
- metadata.gz: 53f7c96caae0ca0afb27fc32d55de40ffee7ac46949220739bf34b5828c3d9283d81479a64c9da4cd589299974d1f391464ef253529b71a19a11c84dcefcd37f
7
- data.tar.gz: f91ae6fc15f363bfb8433355be929705e3ee11202cc9b1646209217d49389abc103f6dbc16ccb2140239544e75d1691679f6d4ee52cef2d69aaef16288fe2f22
6
+ metadata.gz: c2fb46377e7241745c17ce084fe160af267a1aa0f902379212ba77fc426c4be96a35746e83b52422d93a1fc476b9dc5e9c66cb95cb9bd8af7ee1ce545a15b24a
7
+ data.tar.gz: f33e5a9bc2c6dee2387d8fc8f4c78ad614a596b6f433a98431477f268f11e06fcdd6a55b1dfb57dffbea66a823456f5b978930a36e9e8a395c6c8c9899541a46
data/README.md CHANGED
@@ -1,9 +1,14 @@
1
- [![Gem Version](https://badge.fury.io/rb/rails4_client_side_validations.png)](http://badge.fury.io/rb/rails4_client_side_validations)
2
- [![Build Status](https://travis-ci.org/kalkov/rails4_client_side_validations.png)](https://travis-ci.org/kalkov/rails4_client_side_validations)
3
- [![Code Climate](https://codeclimate.com/github/kalkov/rails4_client_side_validations.png)](https://codeclimate.com/github/kalkov/rails4_client_side_validations)
4
- [![Dependency Status](https://gemnasium.com/kalkov/rails4_client_side_validations.svg)](https://gemnasium.com/kalkov/rails4_client_side_validations)
1
+ Original repo is here: [client_side_validations](https://github.com/DavyJonesLocker/client_side_validations)
5
2
 
3
+ The purpose ot this repo is that you can install it like a 'normal' gem from rubygems, instead of Github.
6
4
 
7
- Important
8
- ---------
9
- It's not recommended to use this gem. It's modified version of [client_side_validations](https://github.com/bcardarella/client_side_validations.git), which supports Rails 4. But I can't understand well the codebase, so no guarantee I'll continue to support it.
5
+
6
+ ## Install
7
+
8
+ ```ruby
9
+ gem 'rails4_client_side_validations'
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ Same as original gem.
@@ -0,0 +1,12 @@
1
+ module ClientSideValidations
2
+ end
3
+
4
+ require 'client_side_validations/config'
5
+ require 'client_side_validations/active_model' if defined?(::ActiveModel)
6
+ require 'client_side_validations/active_record' if defined?(::ActiveRecord)
7
+ require 'client_side_validations/action_view' if defined?(::ActionView)
8
+ if defined?(::Rails)
9
+ require 'client_side_validations/generators'
10
+ require 'client_side_validations/middleware'
11
+ require 'client_side_validations/engine'
12
+ end
@@ -0,0 +1,13 @@
1
+ module ClientSideValidations::ActionView
2
+ module Helpers
3
+ end
4
+ end
5
+
6
+ require 'client_side_validations/core_ext'
7
+ require 'client_side_validations/action_view/form_helper'
8
+ require 'client_side_validations/action_view/form_tag_helper'
9
+ require 'client_side_validations/action_view/form_builder'
10
+
11
+ ActionView::Base.send(:include, ClientSideValidations::ActionView::Helpers::FormHelper)
12
+ ActionView::Base.send(:include, ClientSideValidations::ActionView::Helpers::FormTagHelper)
13
+ ActionView::Helpers::FormBuilder.send(:include, ClientSideValidations::ActionView::Helpers::FormBuilder)
@@ -0,0 +1,105 @@
1
+ module ClientSideValidations::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_client_side_validations(method, options = {})
8
+ build_validation_options(method, options)
9
+ options.delete(:validate)
10
+ #{selector}_without_client_side_validations(method, options)
11
+ end
12
+ RUBY_EVAL
13
+
14
+ base.class_eval { alias_method_chain selector, :client_side_validations }
15
+ end
16
+
17
+ base.class_eval do
18
+ alias_method_chain :initialize, :client_side_validations
19
+ alias_method_chain :fields_for, :client_side_validations
20
+ alias_method_chain :check_box, :client_side_validations
21
+ alias_method_chain :radio_button, :client_side_validations
22
+ alias_method_chain :select, :client_side_validations
23
+ alias_method_chain :collection_select, :client_side_validations
24
+ alias_method_chain :grouped_collection_select, :client_side_validations
25
+ alias_method_chain :time_zone_select, :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_client_side_validations(object_name, object, *args)
46
+ initialize_without_client_side_validations(object_name, object, *args)
47
+ @options[:validators] = { object => {} }
48
+ end
49
+
50
+ def fields_for_with_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_client_side_validations(record_or_name_or_array, *(args << options), &block)
54
+ end
55
+
56
+ def check_box_with_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_client_side_validations(method, options, checked_value, unchecked_value)
60
+ end
61
+
62
+ def radio_button_with_client_side_validations(method, tag_value, options = {})
63
+ build_validation_options(method, options)
64
+ options.delete(:validate)
65
+ radio_button_without_client_side_validations(method, tag_value, options)
66
+ end
67
+
68
+ def select_with_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_client_side_validations(method, choices, options, html_options)
72
+ end
73
+
74
+ def collection_select_with_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_client_side_validations(method, collection, value_method, text_method, options, html_options)
78
+ end
79
+
80
+ def grouped_collection_select_with_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_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_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_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
@@ -1,10 +1,9 @@
1
- module Rails4ClientSideValidations::ActionView::Helpers
1
+ module ClientSideValidations::ActionView::Helpers
2
2
  module FormHelper
3
3
  class Error < StandardError; end
4
4
 
5
- def form_for(record, *args, &block)
5
+ def form_for(record, options = {}, &block)
6
6
  raise ArgumentError, "Missing block" unless block_given?
7
- options = args.extract_options!
8
7
  if options[:validate]
9
8
 
10
9
  # Always turn off HTML5 Validations
@@ -13,7 +12,7 @@ module Rails4ClientSideValidations::ActionView::Helpers
13
12
 
14
13
  case record
15
14
  when String, Symbol
16
- raise Rails4ClientSideValidations::ActionView::Helpers::FormHelper::Error, 'Using form_for(:name, @resource) is not supported with ClientSideValidations. Please use form_for(@resource, :as => :name) instead.'
15
+ raise ClientSideValidations::ActionView::Helpers::FormHelper::Error, 'Using form_for(:name, @resource) is not supported with ClientSideValidations. Please use form_for(@resource, as: :name) instead.'
17
16
  else
18
17
  object = record.is_a?(Array) ? record.last : record
19
18
  object_name = options[:as] || model_name_from_record_or_class(object).param_key
@@ -24,12 +23,11 @@ module Rails4ClientSideValidations::ActionView::Helpers
24
23
 
25
24
  # Order matters here. Rails mutates the options object
26
25
  html_id = options[:html][:id] if options[:html]
27
- form = super(record, *(args << options), &block)
26
+ form = super(record, options, &block)
28
27
  options[:id] = html_id if html_id
29
28
 
30
- process_validators options
29
+ build_bound_validators options
31
30
  builder = instantiate_builder(object_name, object, options) if object_name and object
32
-
33
31
  script = client_side_form_settings(object, options, builder)
34
32
 
35
33
  # Because of the load order requirement above this sub is necessary
@@ -50,20 +48,20 @@ module Rails4ClientSideValidations::ActionView::Helpers
50
48
  end
51
49
  end
52
50
 
53
- def apply_form_for_options!(object_or_array, object, options)
51
+ def apply_form_for_options!(record, object, options)
54
52
  super
55
53
  options[:html][:validate] = true if options[:validate]
56
54
  end
57
55
 
58
56
  def fields_for(record_or_name_or_array, record_object = nil, options = {}, &block)
59
57
  output = super
60
- process_validators options
58
+ build_bound_validators options
61
59
  output
62
60
  end
63
61
 
64
62
  private
65
63
 
66
- def process_validators(options)
64
+ def build_bound_validators(options)
67
65
  if @validators
68
66
  options[:validators].each do |key, value|
69
67
  if @validators.key?(key)
@@ -120,20 +118,18 @@ module Rails4ClientSideValidations::ActionView::Helpers
120
118
  end
121
119
  end
122
120
 
123
- if Rails4ClientSideValidations::Config.number_format_with_locale and defined?(I18n)
124
- number_format = I18n.t("number.format").slice(:separator, :delimiter)
121
+ if ClientSideValidations::Config.number_format_with_locale and defined?(I18n)
122
+ number_format = I18n.t('number.format').slice(:separator, :delimiter)
125
123
  else
126
- number_format = {:separator=>".", :delimiter=>","}
124
+ number_format = { separator:'.', delimiter:',' }
127
125
  end
128
- patterns = {:numericality=>"/^(-|\\+)?(?:\\d+|\\d{1,3}(?:\\#{number_format[:delimiter]}\\d{3})+)(?:\\#{number_format[:separator]}\\d*)?$/"}
126
+ patterns = { numericality:"/^(-|\\+)?(?:\\d+|\\d{1,3}(?:\\#{number_format[:delimiter]}\\d{3})+)(?:\\#{number_format[:separator]}\\d*)?$/" }
129
127
 
130
128
 
131
129
  content_tag(:script) do
132
- "//<![CDATA[\nif(window.Rails4ClientSideValidations===undefined)window.Rails4ClientSideValidations={};window.Rails4ClientSideValidations.disabled_validators=#{Rails4ClientSideValidations::Config.disabled_validators.to_json};window.Rails4ClientSideValidations.number_format=#{number_format.to_json};if(window.Rails4ClientSideValidations.patterns===undefined)window.Rails4ClientSideValidations.patterns = {};window.Rails4ClientSideValidations.patterns.numericality=#{patterns[:numericality]};if(window.Rails4ClientSideValidations.remote_validators_prefix===undefined)window.Rails4ClientSideValidations.remote_validators_prefix='#{(Rails4ClientSideValidations::Config.root_path||"").sub(/\/+\Z/,'')}';if(window.Rails4ClientSideValidations.forms===undefined)window.Rails4ClientSideValidations.forms={};window.Rails4ClientSideValidations.forms['#{var_name}'] = #{builder.client_side_form_settings(options, self).merge(:validators => 'validator_hash').to_json};\n//]]>".html_safe
130
+ "//<![CDATA[\nif(window.ClientSideValidations===undefined)window.ClientSideValidations={};window.ClientSideValidations.disabled_validators=#{ClientSideValidations::Config.disabled_validators.to_json};window.ClientSideValidations.number_format=#{number_format.to_json};if(window.ClientSideValidations.patterns===undefined)window.ClientSideValidations.patterns = {};window.ClientSideValidations.patterns.numericality=#{patterns[:numericality]};#{"if(window.ClientSideValidations.remote_validators_prefix===undefined)window.ClientSideValidations.remote_validators_prefix='#{(ClientSideValidations::Config.root_path).sub(/\/+\Z/,'')}';" if ClientSideValidations::Config.root_path.present? }if(window.ClientSideValidations.forms===undefined)window.ClientSideValidations.forms={};window.ClientSideValidations.forms['#{var_name}'] = #{builder.client_side_form_settings(options, self).merge(validators: 'validator_hash').to_json};\n//]]>".html_safe
133
131
  end
134
132
  end
135
133
  end
136
-
137
134
  end
138
135
  end
139
-
@@ -0,0 +1,11 @@
1
+ module ClientSideValidations::ActionView::Helpers
2
+ module FormTagHelper
3
+ private
4
+ def html_options_for_form(url_for_options, options)
5
+ options.stringify_keys!
6
+ html_options = {}
7
+ html_options['data-validate'] = options.delete('validate') if options['validate']
8
+ html_options.merge!(super(url_for_options, options))
9
+ end
10
+ end
11
+ end
@@ -1,6 +1,6 @@
1
- require 'rails4_client_side_validations/core_ext'
1
+ require 'client_side_validations/core_ext'
2
2
 
3
- module Rails4ClientSideValidations::ActiveModel
3
+ module ClientSideValidations::ActiveModel
4
4
  module Validator
5
5
 
6
6
  def client_side_hash(model, attribute, force = nil)
@@ -14,7 +14,7 @@ module Rails4ClientSideValidations::ActiveModel
14
14
  private
15
15
 
16
16
  def build_client_side_hash(model, attribute, options)
17
- { :message => model.errors.generate_message(attribute, message_type, options) }.merge(options.except(*::ActiveModel::Errors::CALLBACKS_OPTIONS - [:allow_blank, :if, :unless]))
17
+ { message: model.errors.generate_message(attribute, message_type, options) }.merge(options.except(*::ActiveModel::Errors::CALLBACKS_OPTIONS - [:allow_blank, :if, :unless]))
18
18
  end
19
19
 
20
20
  def message_type
@@ -108,7 +108,7 @@ module Rails4ClientSideValidations::ActiveModel
108
108
  false
109
109
  end
110
110
  else
111
- ::Rails4ClientSideValidations::Config.disabled_validators.include?(validator.kind)
111
+ ::ClientSideValidations::Config.disabled_validators.include?(validator.kind)
112
112
  end
113
113
  end
114
114
 
@@ -130,14 +130,36 @@ module Rails4ClientSideValidations::ActiveModel
130
130
  end
131
131
  end
132
132
  end
133
+
134
+ module EnumerableValidator
135
+ def client_side_hash(model, attribute, force = nil)
136
+ options = self.options.dup
137
+ if options[:in].respond_to?(:call)
138
+ if force
139
+ options[:in] = options[:in].call(model)
140
+ hash = build_client_side_hash(model, attribute, options)
141
+ else
142
+ return
143
+ end
144
+ else
145
+ hash = build_client_side_hash(model, attribute, options)
146
+ end
147
+
148
+ if hash[:in].is_a?(Range)
149
+ hash[:range] = hash[:in]
150
+ hash.delete(:in)
151
+ end
152
+
153
+ hash
154
+ end
155
+ end
133
156
  end
134
157
 
135
- ActiveModel::Validator.send(:include, Rails4ClientSideValidations::ActiveModel::Validator)
136
- ActiveModel::Validations.send(:include, Rails4ClientSideValidations::ActiveModel::Validations)
158
+ ActiveModel::Validator.send(:include, ClientSideValidations::ActiveModel::Validator)
159
+ ActiveModel::Validations.send(:include, ClientSideValidations::ActiveModel::Validations)
137
160
 
138
161
  %w{absence acceptance exclusion inclusion length format numericality presence}.each do |validator|
139
- require "rails4_client_side_validations/active_model/#{validator}"
162
+ require "client_side_validations/active_model/#{validator}"
140
163
  validator.capitalize!
141
- eval "ActiveModel::Validations::#{validator}Validator.send(:include, Rails4ClientSideValidations::ActiveModel::#{validator})"
164
+ eval "ActiveModel::Validations::#{validator}Validator.send(:include, ClientSideValidations::ActiveModel::#{validator})"
142
165
  end
143
-
@@ -1,4 +1,4 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Absence
3
3
  private
4
4
 
@@ -7,4 +7,3 @@ module Rails4ClientSideValidations::ActiveModel
7
7
  end
8
8
  end
9
9
  end
10
-
@@ -1,4 +1,4 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Acceptance
3
3
  private
4
4
 
@@ -7,4 +7,3 @@ module Rails4ClientSideValidations::ActiveModel
7
7
  end
8
8
  end
9
9
  end
10
-
@@ -0,0 +1,7 @@
1
+ module ClientSideValidations::ActiveModel
2
+ module Exclusion
3
+
4
+ include EnumerableValidator
5
+
6
+ end
7
+ end
@@ -1,4 +1,4 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Format
3
3
  def client_side_hash(model, attribute, force = nil)
4
4
  options = self.options.dup
@@ -28,4 +28,3 @@ module Rails4ClientSideValidations::ActiveModel
28
28
  end
29
29
  end
30
30
  end
31
-
@@ -0,0 +1,7 @@
1
+ module ClientSideValidations::ActiveModel
2
+ module Inclusion
3
+
4
+ include EnumerableValidator
5
+
6
+ end
7
+ end
@@ -1,9 +1,9 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Length
3
3
 
4
4
  def client_side_hash(model, attribute, force = nil)
5
5
  options = self.options.dup
6
- hash = { :messages => {} }
6
+ hash = { messages: {} }
7
7
  hash[:js_tokenizer] = options[:js_tokenizer] if options[:js_tokenizer]
8
8
  hash[:allow_blank] = true if options[:allow_blank]
9
9
 
@@ -11,7 +11,7 @@ module Rails4ClientSideValidations::ActiveModel
11
11
  if count = options[option]
12
12
  options[:message] = options[message_type] if options[message_type].present?
13
13
  options.delete(:message) if options[:message].nil?
14
- hash[:messages][option] = model.errors.generate_message(attribute, message_type, options.merge(:count => count))
14
+ hash[:messages][option] = model.errors.generate_message(attribute, message_type, options.merge(count: count))
15
15
  hash[option] = count
16
16
  end
17
17
  end
@@ -23,4 +23,3 @@ module Rails4ClientSideValidations::ActiveModel
23
23
 
24
24
  end
25
25
  end
26
-
@@ -1,4 +1,4 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Numericality
3
3
 
4
4
  OPTION_MAP = {}
@@ -9,7 +9,7 @@ module Rails4ClientSideValidations::ActiveModel
9
9
 
10
10
  def client_side_hash(model, attribute, force = nil)
11
11
  options = self.options.dup
12
- hash = { :messages => { :numericality => model.errors.generate_message(attribute, :not_a_number, options) } }
12
+ hash = { messages: { numericality: model.errors.generate_message(attribute, :not_a_number, options) } }
13
13
 
14
14
  if options[:only_integer]
15
15
  hash[:messages][:only_integer] = model.errors.generate_message(attribute, :not_an_integer, options)
@@ -27,7 +27,7 @@ module Rails4ClientSideValidations::ActiveModel
27
27
  next
28
28
  end
29
29
  end
30
- hash[:messages][option] = model.errors.generate_message(attribute, message_type, options.merge(:count => count))
30
+ hash[:messages][option] = model.errors.generate_message(attribute, message_type, options.merge(count: count))
31
31
  hash[option] = count
32
32
  end
33
33
  end
@@ -39,4 +39,3 @@ module Rails4ClientSideValidations::ActiveModel
39
39
 
40
40
  end
41
41
  end
42
-
@@ -1,4 +1,4 @@
1
- module Rails4ClientSideValidations::ActiveModel
1
+ module ClientSideValidations::ActiveModel
2
2
  module Presence
3
3
  private
4
4
 
@@ -7,4 +7,3 @@ module Rails4ClientSideValidations::ActiveModel
7
7
  end
8
8
  end
9
9
  end
10
-