client_side_validations 3.0.4 → 3.1.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.
- data/client_side_validations.gemspec +4 -7
- data/lib/client_side_validations/action_view/form_builder.rb +56 -6
- data/lib/client_side_validations/action_view/form_helper.rb +21 -3
- data/lib/client_side_validations/action_view.rb +4 -3
- data/lib/client_side_validations/active_model/length.rb +12 -10
- data/lib/client_side_validations/active_model/numericality.rb +14 -9
- data/lib/client_side_validations/active_model.rb +21 -13
- data/lib/client_side_validations/active_record/middleware.rb +5 -1
- data/lib/client_side_validations/active_record/uniqueness.rb +10 -8
- data/lib/client_side_validations/engine.rb +6 -0
- data/lib/client_side_validations/files.rb +8 -0
- data/lib/client_side_validations/formtastic.rb +3 -3
- data/lib/client_side_validations/middleware.rb +5 -7
- data/lib/client_side_validations/mongo_mapper/middleware.rb +20 -0
- data/lib/client_side_validations/mongo_mapper/uniqueness.rb +28 -0
- data/lib/client_side_validations/mongo_mapper.rb +9 -0
- data/lib/client_side_validations/mongoid/uniqueness.rb +10 -8
- data/lib/client_side_validations/version.rb +1 -1
- data/lib/client_side_validations.rb +8 -3
- data/lib/generators/client_side_validations/copy_asset_generator.rb +23 -0
- data/lib/generators/client_side_validations/install_generator.rb +18 -6
- data/lib/generators/templates/client_side_validations/README.rails.3.0 +6 -0
- data/lib/generators/templates/client_side_validations/README.rails.3.1 +7 -0
- data/lib/generators/templates/{client_side_validations.rb → client_side_validations/initializer.rb} +1 -1
- data/test/action_view/cases/helper.rb +34 -12
- data/test/action_view/cases/test_helpers.rb +264 -1
- data/test/action_view/cases/test_legacy_helpers.rb +12 -1
- data/test/active_model/cases/test_validations.rb +21 -8
- data/test/active_record/cases/test_middleware.rb +41 -16
- data/test/active_record/cases/test_uniqueness_validator.rb +5 -0
- data/test/active_record/models/user.rb +4 -0
- data/test/base_helper.rb +2 -0
- data/test/core_ext/cases/test_core_ext.rb +1 -0
- data/test/formtastic/cases/helper.rb +5 -0
- data/test/formtastic/cases/test_form_builder.rb +3 -3
- data/test/formtastic/cases/test_form_helper.rb +3 -4
- data/test/generators/cases/test_generators.rb +31 -0
- data/test/javascript/public/test/callbacks/elementAfter.js +1 -1
- data/test/javascript/public/test/callbacks/elementBefore.js +1 -1
- data/test/javascript/public/test/callbacks/elementFail.js +1 -1
- data/test/javascript/public/test/callbacks/elementPass.js +1 -1
- data/test/javascript/public/test/callbacks/formAfter.js +1 -1
- data/test/javascript/public/test/callbacks/formBefore.js +1 -1
- data/test/javascript/public/test/callbacks/formFail.js +1 -1
- data/test/javascript/public/test/callbacks/formPass.js +1 -1
- data/test/javascript/public/test/form_builders/validateForm.js +1 -1
- data/test/javascript/public/test/form_builders/validateFormtastic.js +2 -2
- data/test/javascript/public/test/form_builders/validateNestedForm.js +66 -0
- data/test/javascript/public/test/form_builders/validateSimpleForm.js +1 -1
- data/test/javascript/public/test/validateElement.js +36 -1
- data/test/javascript/public/test/validators/length.js +7 -1
- data/test/javascript/public/test/validators/numericality.js +7 -0
- data/test/javascript/public/test/validators/presence.js +6 -0
- data/test/javascript/public/test/validators/uniqueness.js +8 -1
- data/test/javascript/server.rb +9 -3
- data/test/javascript/views/index.erb +1 -1
- data/test/javascript/views/layout.erb +1 -1
- data/test/middleware/cases/helper.rb +3 -0
- data/test/mongo_mapper/cases/helper.rb +9 -0
- data/test/mongo_mapper/cases/test_base.rb +15 -0
- data/test/mongo_mapper/cases/test_middleware.rb +77 -0
- data/test/mongo_mapper/cases/test_uniqueness_validator.rb +50 -0
- data/test/mongo_mapper/models/magazine.rb +11 -0
- data/test/mongoid/cases/test_middleware.rb +15 -6
- data/test/mongoid/cases/test_uniqueness_validator.rb +5 -0
- data/test/mongoid/models/book.rb +4 -0
- data/test/simple_form/cases/helper.rb +3 -0
- data/test/simple_form/cases/test_form_helper.rb +3 -1
- data/test/test_loader.rb +6 -0
- data/{javascript → vendor/assets/javascripts}/rails.validations.js +31 -17
- metadata +44 -23
- data/lib/generators/templates/README +0 -7
- data/test/generators/cases/test_install_generator.rb +0 -15
|
@@ -21,14 +21,14 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
|
21
21
|
|
|
22
22
|
def test_uniqueness_when_resource_exists
|
|
23
23
|
Book.create(:author_email => 'book@test.com')
|
|
24
|
-
get '/validators/uniqueness
|
|
24
|
+
get '/validators/uniqueness', { 'book[author_email]' => 'book@test.com' }
|
|
25
25
|
|
|
26
26
|
assert_equal 'false', last_response.body
|
|
27
27
|
assert last_response.ok?
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def test_uniqueness_when_resource_does_not_exist
|
|
31
|
-
get '/validators/uniqueness
|
|
31
|
+
get '/validators/uniqueness', { 'book[author_email]' => 'book@test.com' }
|
|
32
32
|
|
|
33
33
|
assert_equal 'true', last_response.body
|
|
34
34
|
assert last_response.not_found?
|
|
@@ -36,7 +36,7 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
|
36
36
|
|
|
37
37
|
def test_uniqueness_when_id_is_given
|
|
38
38
|
book = Book.create(:author_email => 'book@test.com')
|
|
39
|
-
get '/validators/uniqueness
|
|
39
|
+
get '/validators/uniqueness', { 'book[author_email]' => 'book@test.com', 'id' => book.id }
|
|
40
40
|
|
|
41
41
|
assert_equal 'true', last_response.body
|
|
42
42
|
assert last_response.not_found?
|
|
@@ -44,7 +44,7 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
|
44
44
|
|
|
45
45
|
def test_uniqueness_when_scope_is_given
|
|
46
46
|
Book.create(:author_email => 'book@test.com', :age => 25)
|
|
47
|
-
get '/validators/uniqueness
|
|
47
|
+
get '/validators/uniqueness', { 'book[author_email]' => 'book@test.com', 'scope' => { 'age' => 30 } }
|
|
48
48
|
|
|
49
49
|
assert_equal 'true', last_response.body
|
|
50
50
|
assert last_response.not_found?
|
|
@@ -52,7 +52,7 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
|
52
52
|
|
|
53
53
|
def test_uniqueness_when_multiple_scopes_are_given
|
|
54
54
|
Book.create(:author_email => 'book@test.com', :age => 30, :author_name => 'Brian')
|
|
55
|
-
get '/validators/uniqueness
|
|
55
|
+
get '/validators/uniqueness', { 'book[author_email]' => 'book@test.com', 'scope' => { 'age' => 30, 'author_name' => 'Robert' } }
|
|
56
56
|
|
|
57
57
|
assert_equal 'true', last_response.body
|
|
58
58
|
assert last_response.not_found?
|
|
@@ -60,9 +60,18 @@ class ClientSideValidationsMongoidMiddlewareTest < Test::Unit::TestCase
|
|
|
60
60
|
|
|
61
61
|
def test_uniqueness_when_case_insensitive
|
|
62
62
|
Book.create(:author_name => 'Brian')
|
|
63
|
-
get '/validators/uniqueness
|
|
63
|
+
get '/validators/uniqueness', { 'book[author_name]' => 'BRIAN', 'case_sensitive' => false }
|
|
64
|
+
|
|
65
|
+
assert_equal 'false', last_response.body
|
|
66
|
+
assert last_response.ok?
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_uniqueness_when_resource_is_a_nested_module
|
|
70
|
+
MongoidTestModule::Book2.create(:author_email => 'book@test.com')
|
|
71
|
+
get '/validators/uniqueness', { 'mongoid_test_module/book2[author_email]' => 'book@test.com' }
|
|
64
72
|
|
|
65
73
|
assert_equal 'false', last_response.body
|
|
66
74
|
assert last_response.ok?
|
|
67
75
|
end
|
|
68
76
|
end
|
|
77
|
+
|
|
@@ -40,5 +40,10 @@ class Mongoid::UniqunessValidatorTest < ClientSideValidations::MongoidTestBase
|
|
|
40
40
|
assert_equal expected_hash, result_hash
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
def test_uniqueness_client_side_hash_when_nested_module
|
|
44
|
+
@book = MongoidTestModule::Book2.new
|
|
45
|
+
expected_hash = { :message => "is already taken", :class => 'mongoid_test_module/book2' }
|
|
46
|
+
assert_equal expected_hash, UniquenessValidator.new(:attributes => [:name]).client_side_hash(@book, :age)
|
|
47
|
+
end
|
|
43
48
|
end
|
|
44
49
|
|
data/test/mongoid/models/book.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'action_view/cases/helper'
|
|
2
|
+
require 'middleware/cases/helper'
|
|
2
3
|
require 'simple_form/cases/helper'
|
|
3
4
|
|
|
4
5
|
class ClientSideValidations::SimpleForm::FormHelperTest < ActionView::TestCase
|
|
@@ -10,11 +11,12 @@ class ClientSideValidations::SimpleForm::FormHelperTest < ActionView::TestCase
|
|
|
10
11
|
end
|
|
11
12
|
|
|
12
13
|
def test_simple_form_for
|
|
14
|
+
ActionView::TestCase::TestController.any_instance.stubs(:action_name).returns('edit')
|
|
13
15
|
simple_form_for(@post, :validate => true) do |f|
|
|
14
16
|
concat f.input(:cost)
|
|
15
17
|
end
|
|
16
18
|
|
|
17
|
-
expected = %{<form accept-charset="UTF-8" action="/posts/123" class="simple_form post" data-validate="true" id="edit_post_123" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /></div><div class="input string required"><label class="string required" for="post_cost"><abbr title="required">*</abbr> Cost</label><input class="string required" data-validate="true" id="post_cost" name="post[cost]" required="required" size="50" type="text" /></div></form><script>
|
|
19
|
+
expected = %{<form accept-charset="UTF-8" action="/posts/123" class="simple_form post" data-validate="true" id="edit_post_123" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /></div><div class="input string required"><label class="string required" for="post_cost"><abbr title="required">*</abbr> Cost</label><input class="string required" data-validate="true" id="post_cost" name="post[cost]" required="required" size="50" type="text" /></div></form><script>window['edit_post_123'] = {"type":"SimpleForm::FormBuilder","error_class":"error","error_tag":"span","wrapper_error_class":"field_with_errors","wrapper_tag":"div","validators":{"post[cost]":{"presence":{"message":"can't be blank"}}}};</script>}
|
|
18
20
|
assert_equal expected, output_buffer, "\n\n *** If you're running Ruby 1.8 and this test fails is is most likely due to 1.8's lack of insertion order persistence with Hashes ***\n"
|
|
19
21
|
end
|
|
20
22
|
|
data/test/test_loader.rb
ADDED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Rails 3 Client Side Validations - v3.0
|
|
2
|
+
* Rails 3 Client Side Validations - v3.1.0
|
|
3
3
|
* https://github.com/bcardarlela/client_side_validations
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2011 Brian Cardarella
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
.bind('form:validate:pass', function(eventData) { clientSideValidations.callbacks.form.pass( form, eventData); })
|
|
25
25
|
|
|
26
26
|
// Set up the events for each validatable form element
|
|
27
|
-
.find('[data-validate]:input')
|
|
27
|
+
.find('[data-validate]:input:not(:radio)')
|
|
28
28
|
.live('focusout', function() { $(this).isValid(settings.validators); })
|
|
29
29
|
.live('change', function() { $(this).data('changed', true); })
|
|
30
30
|
// Callbacks
|
|
@@ -48,13 +48,15 @@
|
|
|
48
48
|
var confirmationElement = $(this),
|
|
49
49
|
element = form.find('#' + this.id.match(/(.+)_confirmation/)[1] + '[data-validate]:input');
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
if (element[0]) {
|
|
52
|
+
$('#' + confirmationElement.attr('id'))
|
|
53
|
+
.live('focusout', function() {
|
|
54
|
+
element.data('changed', true).isValid(settings.validators);
|
|
55
|
+
})
|
|
56
|
+
.live('keyup', function() {
|
|
57
|
+
element.data('changed', true).isValid(settings.validators);
|
|
58
|
+
})
|
|
59
|
+
}
|
|
58
60
|
});
|
|
59
61
|
|
|
60
62
|
var addError = function(element, message) {
|
|
@@ -127,7 +129,7 @@ var clientSideValidations = {
|
|
|
127
129
|
all: function() { return jQuery.extend({}, clientSideValidations.validators.local, clientSideValidations.validators.remote) },
|
|
128
130
|
local: {
|
|
129
131
|
presence: function(element, options) {
|
|
130
|
-
if (/^\s*$/.test(element.val())) {
|
|
132
|
+
if (/^\s*$/.test(element.val() || "")) {
|
|
131
133
|
return options.message;
|
|
132
134
|
}
|
|
133
135
|
},
|
|
@@ -171,7 +173,7 @@ var clientSideValidations = {
|
|
|
171
173
|
equal_to: '==', less_than: '<', less_than_or_equal_to: '<=' }
|
|
172
174
|
|
|
173
175
|
for (var check in CHECKS) {
|
|
174
|
-
if (options[check] && !(new Function("return " + element.val() + CHECKS[check] + options[check])())) {
|
|
176
|
+
if (options[check] != undefined && !(new Function("return " + element.val() + CHECKS[check] + options[check])())) {
|
|
175
177
|
return options.messages[check];
|
|
176
178
|
}
|
|
177
179
|
}
|
|
@@ -191,7 +193,7 @@ var clientSideValidations = {
|
|
|
191
193
|
} else if (options.minimum) {
|
|
192
194
|
blankOptions.message = options.messages.minimum;
|
|
193
195
|
}
|
|
194
|
-
if ((message = this.presence(element, blankOptions)) && options.allow_blank == true
|
|
196
|
+
if ((message = this.presence(element, blankOptions)) && options.allow_blank == true) {
|
|
195
197
|
return;
|
|
196
198
|
} else if (message) {
|
|
197
199
|
return message;
|
|
@@ -290,10 +292,15 @@ var clientSideValidations = {
|
|
|
290
292
|
} else {
|
|
291
293
|
var name = element.attr('name');
|
|
292
294
|
}
|
|
295
|
+
|
|
296
|
+
// Override the name if a nested module class is passed
|
|
297
|
+
if (options['class']) {
|
|
298
|
+
name = options['class'] + '[' + name.split('[')[1]
|
|
299
|
+
}
|
|
293
300
|
data[name] = element.val();
|
|
294
301
|
|
|
295
302
|
if (jQuery.ajax({
|
|
296
|
-
url: '/validators/uniqueness
|
|
303
|
+
url: '/validators/uniqueness',
|
|
297
304
|
data: data,
|
|
298
305
|
async: false
|
|
299
306
|
}).status == 200) {
|
|
@@ -305,7 +312,7 @@ var clientSideValidations = {
|
|
|
305
312
|
formBuilders: {
|
|
306
313
|
'ActionView::Helpers::FormBuilder': {
|
|
307
314
|
add: function(element, settings, message) {
|
|
308
|
-
if (element.data('valid') !== false) {
|
|
315
|
+
if (element.data('valid') !== false && jQuery('label.message[for="' + element.attr('id') + '"]')[0] == undefined) {
|
|
309
316
|
var inputErrorField = jQuery(settings.input_tag),
|
|
310
317
|
labelErrorField = jQuery(settings.label_tag),
|
|
311
318
|
label = jQuery('label[for="' + element.attr('id') + '"]:not(.message)');
|
|
@@ -353,7 +360,7 @@ var clientSideValidations = {
|
|
|
353
360
|
}
|
|
354
361
|
|
|
355
362
|
},
|
|
356
|
-
'Formtastic::
|
|
363
|
+
'Formtastic::FormBuilder': {
|
|
357
364
|
add: function(element, settings, message) {
|
|
358
365
|
if (element.data('valid') !== false) {
|
|
359
366
|
var wrapper = element.closest('li');
|
|
@@ -370,7 +377,14 @@ var clientSideValidations = {
|
|
|
370
377
|
var errorElement = wrapper.find('p.' + settings.inline_error_class);
|
|
371
378
|
errorElement.remove();
|
|
372
379
|
}
|
|
373
|
-
|
|
380
|
+
},
|
|
381
|
+
'NestedForm::Builder': {
|
|
382
|
+
add: function(element, settings, message) {
|
|
383
|
+
clientSideValidations.formBuilders['ActionView::Helpers::FormBuilder'].add(element, settings, message);
|
|
384
|
+
},
|
|
385
|
+
remove: function(element, settings, message) {
|
|
386
|
+
clientSideValidations.formBuilders['ActionView::Helpers::FormBuilder'].remove(element, settings, message);
|
|
387
|
+
}
|
|
374
388
|
}
|
|
375
389
|
},
|
|
376
390
|
callbacks: {
|
|
@@ -387,4 +401,4 @@ var clientSideValidations = {
|
|
|
387
401
|
pass: function(form, eventData) { }
|
|
388
402
|
}
|
|
389
403
|
}
|
|
390
|
-
}
|
|
404
|
+
};
|
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: client_side_validations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 3.0
|
|
5
|
+
version: 3.1.0
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Brian Cardarella
|
|
@@ -10,33 +10,33 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-
|
|
13
|
+
date: 2011-06-20 00:00:00 -04:00
|
|
14
14
|
default_executable:
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
|
-
name:
|
|
17
|
+
name: rails
|
|
18
18
|
prerelease: false
|
|
19
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
20
20
|
none: false
|
|
21
21
|
requirements:
|
|
22
|
-
- -
|
|
22
|
+
- - "="
|
|
23
23
|
- !ruby/object:Gem::Version
|
|
24
|
-
version: 3.0.
|
|
25
|
-
type: :
|
|
24
|
+
version: 3.1.0.rc4
|
|
25
|
+
type: :development
|
|
26
26
|
version_requirements: *id001
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: sqlite3
|
|
29
29
|
prerelease: false
|
|
30
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
|
31
31
|
none: false
|
|
32
32
|
requirements:
|
|
33
|
-
- -
|
|
33
|
+
- - ">="
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
|
-
version:
|
|
35
|
+
version: "0"
|
|
36
36
|
type: :development
|
|
37
37
|
version_requirements: *id002
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
|
-
name:
|
|
39
|
+
name: bson_ext
|
|
40
40
|
prerelease: false
|
|
41
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
|
42
42
|
none: false
|
|
@@ -47,25 +47,25 @@ dependencies:
|
|
|
47
47
|
type: :development
|
|
48
48
|
version_requirements: *id003
|
|
49
49
|
- !ruby/object:Gem::Dependency
|
|
50
|
-
name:
|
|
50
|
+
name: mongoid
|
|
51
51
|
prerelease: false
|
|
52
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
|
53
53
|
none: false
|
|
54
54
|
requirements:
|
|
55
|
-
- -
|
|
55
|
+
- - ~>
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version:
|
|
57
|
+
version: 2.0.0
|
|
58
58
|
type: :development
|
|
59
59
|
version_requirements: *id004
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
|
-
name:
|
|
61
|
+
name: mongo_mapper
|
|
62
62
|
prerelease: false
|
|
63
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
|
64
64
|
none: false
|
|
65
65
|
requirements:
|
|
66
66
|
- - ~>
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
68
|
+
version: 0.9.0
|
|
69
69
|
type: :development
|
|
70
70
|
version_requirements: *id005
|
|
71
71
|
- !ruby/object:Gem::Dependency
|
|
@@ -96,9 +96,9 @@ dependencies:
|
|
|
96
96
|
requirement: &id008 !ruby/object:Gem::Requirement
|
|
97
97
|
none: false
|
|
98
98
|
requirements:
|
|
99
|
-
- -
|
|
99
|
+
- - ~>
|
|
100
100
|
- !ruby/object:Gem::Version
|
|
101
|
-
version:
|
|
101
|
+
version: 2.0.0.rc3
|
|
102
102
|
type: :development
|
|
103
103
|
version_requirements: *id008
|
|
104
104
|
- !ruby/object:Gem::Dependency
|
|
@@ -167,7 +167,6 @@ extra_rdoc_files: []
|
|
|
167
167
|
|
|
168
168
|
files:
|
|
169
169
|
- client_side_validations.gemspec
|
|
170
|
-
- javascript/rails.validations.js
|
|
171
170
|
- lib/client_side_validations.rb
|
|
172
171
|
- lib/client_side_validations/action_view.rb
|
|
173
172
|
- lib/client_side_validations/action_view/form_builder.rb
|
|
@@ -187,16 +186,24 @@ files:
|
|
|
187
186
|
- lib/client_side_validations/core_ext.rb
|
|
188
187
|
- lib/client_side_validations/core_ext/range.rb
|
|
189
188
|
- lib/client_side_validations/core_ext/regexp.rb
|
|
189
|
+
- lib/client_side_validations/engine.rb
|
|
190
|
+
- lib/client_side_validations/files.rb
|
|
190
191
|
- lib/client_side_validations/formtastic.rb
|
|
191
192
|
- lib/client_side_validations/middleware.rb
|
|
193
|
+
- lib/client_side_validations/mongo_mapper.rb
|
|
194
|
+
- lib/client_side_validations/mongo_mapper/middleware.rb
|
|
195
|
+
- lib/client_side_validations/mongo_mapper/uniqueness.rb
|
|
192
196
|
- lib/client_side_validations/mongoid.rb
|
|
193
197
|
- lib/client_side_validations/mongoid/middleware.rb
|
|
194
198
|
- lib/client_side_validations/mongoid/uniqueness.rb
|
|
195
199
|
- lib/client_side_validations/simple_form.rb
|
|
196
200
|
- lib/client_side_validations/version.rb
|
|
201
|
+
- lib/generators/client_side_validations/copy_asset_generator.rb
|
|
197
202
|
- lib/generators/client_side_validations/install_generator.rb
|
|
198
|
-
- lib/generators/templates/README
|
|
199
|
-
- lib/generators/templates/client_side_validations.
|
|
203
|
+
- lib/generators/templates/client_side_validations/README.rails.3.0
|
|
204
|
+
- lib/generators/templates/client_side_validations/README.rails.3.1
|
|
205
|
+
- lib/generators/templates/client_side_validations/initializer.rb
|
|
206
|
+
- vendor/assets/javascripts/rails.validations.js
|
|
200
207
|
- test/action_view/cases/helper.rb
|
|
201
208
|
- test/action_view/cases/test_helpers.rb
|
|
202
209
|
- test/action_view/cases/test_legacy_helpers.rb
|
|
@@ -226,7 +233,7 @@ files:
|
|
|
226
233
|
- test/formtastic/cases/helper.rb
|
|
227
234
|
- test/formtastic/cases/test_form_builder.rb
|
|
228
235
|
- test/formtastic/cases/test_form_helper.rb
|
|
229
|
-
- test/generators/cases/
|
|
236
|
+
- test/generators/cases/test_generators.rb
|
|
230
237
|
- test/javascript/config.ru
|
|
231
238
|
- test/javascript/public/test/callbacks/elementAfter.js
|
|
232
239
|
- test/javascript/public/test/callbacks/elementBefore.js
|
|
@@ -238,6 +245,7 @@ files:
|
|
|
238
245
|
- test/javascript/public/test/callbacks/formPass.js
|
|
239
246
|
- test/javascript/public/test/form_builders/validateForm.js
|
|
240
247
|
- test/javascript/public/test/form_builders/validateFormtastic.js
|
|
248
|
+
- test/javascript/public/test/form_builders/validateNestedForm.js
|
|
241
249
|
- test/javascript/public/test/form_builders/validateSimpleForm.js
|
|
242
250
|
- test/javascript/public/test/settings.js
|
|
243
251
|
- test/javascript/public/test/validateElement.js
|
|
@@ -258,6 +266,11 @@ files:
|
|
|
258
266
|
- test/javascript/views/layout.erb
|
|
259
267
|
- test/middleware/cases/helper.rb
|
|
260
268
|
- test/middleware/cases/test_middleware.rb
|
|
269
|
+
- test/mongo_mapper/cases/helper.rb
|
|
270
|
+
- test/mongo_mapper/cases/test_base.rb
|
|
271
|
+
- test/mongo_mapper/cases/test_middleware.rb
|
|
272
|
+
- test/mongo_mapper/cases/test_uniqueness_validator.rb
|
|
273
|
+
- test/mongo_mapper/models/magazine.rb
|
|
261
274
|
- test/mongoid/cases/helper.rb
|
|
262
275
|
- test/mongoid/cases/test_base.rb
|
|
263
276
|
- test/mongoid/cases/test_middleware.rb
|
|
@@ -266,6 +279,7 @@ files:
|
|
|
266
279
|
- test/simple_form/cases/helper.rb
|
|
267
280
|
- test/simple_form/cases/test_form_builder.rb
|
|
268
281
|
- test/simple_form/cases/test_form_helper.rb
|
|
282
|
+
- test/test_loader.rb
|
|
269
283
|
has_rdoc: true
|
|
270
284
|
homepage: https://github.com/bcardarella/client_side_validations
|
|
271
285
|
licenses: []
|
|
@@ -289,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
289
303
|
version: "0"
|
|
290
304
|
requirements: []
|
|
291
305
|
|
|
292
|
-
rubyforge_project:
|
|
306
|
+
rubyforge_project:
|
|
293
307
|
rubygems_version: 1.5.3
|
|
294
308
|
signing_key:
|
|
295
309
|
specification_version: 3
|
|
@@ -324,7 +338,7 @@ test_files:
|
|
|
324
338
|
- test/formtastic/cases/helper.rb
|
|
325
339
|
- test/formtastic/cases/test_form_builder.rb
|
|
326
340
|
- test/formtastic/cases/test_form_helper.rb
|
|
327
|
-
- test/generators/cases/
|
|
341
|
+
- test/generators/cases/test_generators.rb
|
|
328
342
|
- test/javascript/config.ru
|
|
329
343
|
- test/javascript/public/test/callbacks/elementAfter.js
|
|
330
344
|
- test/javascript/public/test/callbacks/elementBefore.js
|
|
@@ -336,6 +350,7 @@ test_files:
|
|
|
336
350
|
- test/javascript/public/test/callbacks/formPass.js
|
|
337
351
|
- test/javascript/public/test/form_builders/validateForm.js
|
|
338
352
|
- test/javascript/public/test/form_builders/validateFormtastic.js
|
|
353
|
+
- test/javascript/public/test/form_builders/validateNestedForm.js
|
|
339
354
|
- test/javascript/public/test/form_builders/validateSimpleForm.js
|
|
340
355
|
- test/javascript/public/test/settings.js
|
|
341
356
|
- test/javascript/public/test/validateElement.js
|
|
@@ -356,6 +371,11 @@ test_files:
|
|
|
356
371
|
- test/javascript/views/layout.erb
|
|
357
372
|
- test/middleware/cases/helper.rb
|
|
358
373
|
- test/middleware/cases/test_middleware.rb
|
|
374
|
+
- test/mongo_mapper/cases/helper.rb
|
|
375
|
+
- test/mongo_mapper/cases/test_base.rb
|
|
376
|
+
- test/mongo_mapper/cases/test_middleware.rb
|
|
377
|
+
- test/mongo_mapper/cases/test_uniqueness_validator.rb
|
|
378
|
+
- test/mongo_mapper/models/magazine.rb
|
|
359
379
|
- test/mongoid/cases/helper.rb
|
|
360
380
|
- test/mongoid/cases/test_base.rb
|
|
361
381
|
- test/mongoid/cases/test_middleware.rb
|
|
@@ -364,3 +384,4 @@ test_files:
|
|
|
364
384
|
- test/simple_form/cases/helper.rb
|
|
365
385
|
- test/simple_form/cases/test_form_builder.rb
|
|
366
386
|
- test/simple_form/cases/test_form_helper.rb
|
|
387
|
+
- test/test_loader.rb
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require 'rails/generators/test_case'
|
|
2
|
-
require 'generators/client_side_validations/install_generator'
|
|
3
|
-
|
|
4
|
-
class InstallGeneratorTest < Rails::Generators::TestCase
|
|
5
|
-
tests ClientSideValidations::Generators::InstallGenerator
|
|
6
|
-
destination File.expand_path('../../tmp', __FILE__)
|
|
7
|
-
setup :prepare_destination
|
|
8
|
-
|
|
9
|
-
test 'Assert all files are properly created' do
|
|
10
|
-
run_generator
|
|
11
|
-
assert_file 'config/initializers/client_side_validations.rb'
|
|
12
|
-
assert_file 'public/javascripts/rails.validations.js'
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|