client_side_validations 2.9.5 → 2.9.6

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.
@@ -17,6 +17,14 @@ jQuery.validator.addMethod("numericality", function(value, element) {
17
17
  return this.optional(element) || /^(\d+(\.|,)\d+|\d+)$/.test(value);
18
18
  }, jQuery.validator.format("Is not a number."));
19
19
 
20
+ jQuery.validator.addMethod("greater_than", function(value, element, params) {
21
+ return this.optional(element) || parseFloat(value) > params;
22
+ }, jQuery.validator.format("Wrong number."));
23
+
24
+ jQuery.validator.addMethod("less_than", function(value, element, params) {
25
+ return this.optional(element) || parseFloat(value) < params;
26
+ }, jQuery.validator.format("Wrong number."));
27
+
20
28
  jQuery.validator.addMethod("odd", function(value, element) {
21
29
  return this.optional(element) || parseInt(value) % 2 == 1;
22
30
  }, jQuery.validator.format("Must be odd."));
@@ -1,158 +1,156 @@
1
- module DNCLabs
2
- module ClientSideValidations
3
- module Adapters
4
- module ActionView
5
- module BaseMethods
6
-
7
- def self.included(base)
8
- form_method = base.instance_method(:form_for)
9
- base.class_eval do
10
- attr_accessor :validate_options
1
+ module ClientSideValidations
2
+ module Adapters
3
+ module ActionView
4
+ module BaseMethods
5
+
6
+ def self.included(base)
7
+ form_method = base.instance_method(:form_for)
8
+ base.class_eval do
9
+ attr_accessor :validate_options
10
+
11
+ define_method(:form_for) do |record_or_name_or_array, *args, &proc|
12
+ options = Hash.new { |h, k| h[k] = {}}
13
+ options.merge!(args.extract_options!.symbolize_keys!)
14
+ script = ""
15
+ if validations = options.delete(:validations)
16
+ set_validate_options(validations, record_or_name_or_array)
17
+ options[:html]['data-csv'] = validate_options.delete('data-csv')
18
+ script = %{<script type='text/javascript'>var #{options[:html]['data-csv']}_validate_options=#{validate_options.to_json};</script>}
19
+ end
20
+ args << {}.merge(options)
21
+ result = form_method.bind(self).call(record_or_name_or_array, *args, &proc)
11
22
 
12
- define_method(:form_for) do |record_or_name_or_array, *args, &proc|
13
- options = Hash.new { |h, k| h[k] = {}}
14
- options.merge!(args.extract_options!.symbolize_keys!)
15
- script = ""
16
- if validations = options.delete(:validations)
17
- set_validate_options(validations, record_or_name_or_array)
18
- options[:html]['data-csv'] = validate_options.delete('data-csv')
19
- script = %{<script type='text/javascript'>var #{options[:html]['data-csv']}_validate_options=#{validate_options.to_json};</script>}
20
- end
21
- args << {}.merge(options)
22
- result = form_method.bind(self).call(record_or_name_or_array, *args, &proc)
23
-
24
- if rails3?
25
- result += script.html_safe
26
- else
27
- concat(script)
28
- end
29
- result
23
+ if rails3?
24
+ result += script.html_safe
25
+ else
26
+ concat(script)
30
27
  end
28
+ result
31
29
  end
32
30
  end
31
+ end
32
+
33
+ private
34
+
35
+ def rails3?
36
+ version =
37
+ if defined?(ActionPack::VERSION::MAJOR)
38
+ ActionPack::VERSION::MAJOR
39
+ end
40
+ !version.blank? && version >= 3
41
+ end
42
+
43
+ def set_validate_options(validations, record_or_name_or_array)
44
+ options = ::ClientSideValidations.default_options || { }
33
45
 
34
- private
35
-
36
- def rails3?
37
- version =
38
- if defined?(ActionPack::VERSION::MAJOR)
39
- ActionPack::VERSION::MAJOR
40
- end
41
- !version.blank? && version >= 3
42
- end
43
-
44
- def set_validate_options(validations, record_or_name_or_array)
45
- options = ::ClientSideValidations.default_options || { }
46
-
47
- case validations
48
- when true
46
+ case validations
47
+ when true
48
+ object_name = get_object_name(record_or_name_or_array)
49
+ data_csv = get_data_csv(record_or_name_or_array)
50
+ validate_options = rules_and_messages(record_or_name_or_array)
51
+ when Hash
52
+ validations.symbolize_keys!
53
+ if validations.has_key?(:instance)
54
+ object_name = get_object_name(validations[:instance])
55
+ data_csv = get_data_csv(validations[:instance])
56
+ validate_options = validations[:instance].validate_options
57
+ elsif validations.has_key?(:class)
58
+ object_name = get_object_name(validations[:class].new)
59
+ data_csv = get_data_csv(validations[:instance].new)
60
+ validate_options = validations[:class].new.validate_options
61
+ else
49
62
  object_name = get_object_name(record_or_name_or_array)
50
63
  data_csv = get_data_csv(record_or_name_or_array)
51
64
  validate_options = rules_and_messages(record_or_name_or_array)
52
- when Hash
53
- validations.symbolize_keys!
54
- if validations.has_key?(:instance)
55
- object_name = get_object_name(validations[:instance])
56
- data_csv = get_data_csv(validations[:instance])
57
- validate_options = validations[:instance].validate_options
58
- elsif validations.has_key?(:class)
59
- object_name = get_object_name(validations[:class].new)
60
- data_csv = get_data_csv(validations[:instance].new)
61
- validate_options = validations[:class].new.validate_options
62
- else
63
- object_name = get_object_name(record_or_name_or_array)
64
- data_csv = get_data_csv(record_or_name_or_array)
65
- validate_options = rules_and_messages(record_or_name_or_array)
66
- end
67
-
68
- options.merge!(validations[:options] || {})
69
- else
70
- object_name = get_object_name(validations)
71
- data_csv = get_data_csv(validations)
72
- validate_options = validations.new.validate_options
73
65
  end
74
-
75
- self.validate_options = build_validate_options(object_name, validate_options, options, data_csv)
66
+
67
+ options.merge!(validations[:options] || {})
68
+ else
69
+ object_name = get_object_name(validations)
70
+ data_csv = get_data_csv(validations)
71
+ validate_options = validations.new.validate_options
76
72
  end
77
73
 
78
- def build_validate_options(object_name, validate_options, options, data_csv)
79
- %w{rules messages}.each do |option|
80
- validate_options[option].keys.each do |key|
81
- validate_options[option]["#{object_name}[#{key}]"] = validate_options[option].delete(key)
82
- end
74
+ self.validate_options = build_validate_options(object_name, validate_options, options, data_csv)
75
+ end
76
+
77
+ def build_validate_options(object_name, validate_options, options, data_csv)
78
+ %w{rules messages}.each do |option|
79
+ validate_options[option].keys.each do |key|
80
+ validate_options[option]["#{object_name}[#{key}]"] = validate_options[option].delete(key)
83
81
  end
84
-
85
- validate_options['options'] = options unless options.empty?
86
- validate_options['data-csv'] = data_csv
87
- validate_options
88
82
  end
89
83
 
90
- def convert_options_to_json(options)
91
- json = []
92
- options.each do |k, v|
93
- json << %{#{k}:#{v}}
94
- end
95
- %{{#{json.join(',')}}}
84
+ validate_options['options'] = options unless options.empty?
85
+ validate_options['data-csv'] = data_csv
86
+ validate_options
87
+ end
88
+
89
+ def convert_options_to_json(options)
90
+ json = []
91
+ options.each do |k, v|
92
+ json << %{#{k}:#{v}}
96
93
  end
97
-
98
- def rules_and_messages(record_or_name_or_array)
99
- case record_or_name_or_array
100
- when String, Symbol
101
- record_or_name_or_array.to_s.camelize.constantize.new.validate_options
102
- when Array
103
- rules_and_messages(record_or_name_or_array.last)
104
- else
105
- record_or_name_or_array.validate_options
106
- end
94
+ %{{#{json.join(',')}}}
95
+ end
96
+
97
+ def rules_and_messages(record_or_name_or_array)
98
+ case record_or_name_or_array
99
+ when String, Symbol
100
+ record_or_name_or_array.to_s.camelize.constantize.new.validate_options
101
+ when Array
102
+ rules_and_messages(record_or_name_or_array.last)
103
+ else
104
+ record_or_name_or_array.validate_options
107
105
  end
108
-
109
- def get_data_csv(object)
110
- case object
111
- when String, Symbol
112
- object.to_s
113
- when Array
114
- get_data_csv(object.last)
115
- when Class
116
- object.to_s.underscore
117
- else
118
- dom_id(object)
119
- end
106
+ end
107
+
108
+ def get_data_csv(object)
109
+ case object
110
+ when String, Symbol
111
+ object.to_s
112
+ when Array
113
+ get_data_csv(object.last)
114
+ when Class
115
+ object.to_s.underscore
116
+ else
117
+ dom_id(object)
120
118
  end
121
-
122
- def get_object_name(object)
123
- case object
124
- when String, Symbol
125
- object.to_s
126
- when Array
127
- get_object_name(object.last)
128
- when Class
129
- get_object_name(object.new)
119
+ end
120
+
121
+ def get_object_name(object)
122
+ case object
123
+ when String, Symbol
124
+ object.to_s
125
+ when Array
126
+ get_object_name(object.last)
127
+ when Class
128
+ get_object_name(object.new)
129
+ else
130
+ if rails3?
131
+ ::ActiveModel::Naming.singular(object)
130
132
  else
131
- if rails3?
132
- ActiveModel::Naming.singular(object)
133
- else
134
- ActionController::RecordIdentifier.singular_class_name(object)
135
- end
133
+ ::ActionController::RecordIdentifier.singular_class_name(object)
136
134
  end
137
135
  end
138
- end # BaseMethods
139
-
140
- module FormBuilderMethods
136
+ end
137
+ end # BaseMethods
138
+
139
+ module FormBuilderMethods
140
+
141
+ def client_side_validations(options = {})
142
+ @template.send(:client_side_validations, @object_name, objectify_options(options))
143
+ end
141
144
 
142
- def client_side_validations(options = {})
143
- @template.send(:client_side_validations, @object_name, objectify_options(options))
144
- end
145
-
146
- end # FormBuilderMethods
147
- end
145
+ end # FormBuilderMethods
148
146
  end
149
147
  end
150
148
  end
151
149
 
152
150
  ActionView::Base.class_eval do
153
- include DNCLabs::ClientSideValidations::Adapters::ActionView::BaseMethods
151
+ include ClientSideValidations::Adapters::ActionView::BaseMethods
154
152
  end
155
153
 
156
154
  ActionView::Helpers::FormBuilder.class_eval do
157
- include DNCLabs::ClientSideValidations::Adapters::ActionView::FormBuilderMethods
155
+ include ClientSideValidations::Adapters::ActionView::FormBuilderMethods
158
156
  end
@@ -78,8 +78,14 @@ module ClientSideValidations
78
78
  validations.each do |kind, options|
79
79
  kind = convert_kind(kind, options)
80
80
  value = case kind
81
- when 'acceptance', 'required', 'digits', 'numericality', 'greater_than', 'min', 'less_than', 'max', 'odd', 'even', 'confirmation'
81
+ when 'acceptance', 'required', 'digits', 'numericality', 'odd', 'even', 'confirmation'
82
82
  true
83
+ when 'greater_than', 'less_than'
84
+ options[kind]
85
+ when 'max'
86
+ options['less_than_or_equal_to']
87
+ when 'min'
88
+ options['greater_than_or_equal_to']
83
89
  when 'format'
84
90
  options['with']
85
91
  when 'exclusion', 'inclusion'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: client_side_validations
3
3
  version: !ruby/object:Gem::Version
4
- hash: 33
4
+ hash: 39
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 9
9
- - 5
10
- version: 2.9.5
9
+ - 6
10
+ version: 2.9.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Cardarella
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-31 00:00:00 -04:00
18
+ date: 2010-09-01 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency