validation_sync 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/validation_sync.js +0 -1
  3. data/app/helpers/validation_sync_form_helper.rb +194 -18
  4. data/lib/validation_sync/validation_builder.rb +9 -7
  5. data/lib/validation_sync/version.rb +1 -1
  6. data/spec/dummy/app/assets/javascripts/application.js +1 -0
  7. data/spec/dummy/app/models/post.rb +1 -1
  8. data/spec/dummy/db/development.sqlite3 +0 -0
  9. data/spec/dummy/db/production.sqlite3 +0 -0
  10. data/spec/dummy/db/test.sqlite3 +0 -0
  11. data/spec/dummy/log/development.log +40 -13660
  12. data/spec/dummy/log/test.log +18 -6117
  13. data/spec/dummy/spec/models/post_spec.rb +1 -1
  14. data/spec/dummy/tmp/cache/assets/development/sprockets/{122e92d06837af295d6c941999a8d48f → 07f5a31ebed66368f3320bd38664147b} +0 -0
  15. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  16. data/spec/dummy/tmp/cache/assets/development/sprockets/18d10bb606c4e73f1534122fae75ccf5 +0 -0
  17. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  18. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  19. data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  20. data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sprockets/555ac815791654385407d4442dfa1b7b +0 -0
  22. data/spec/dummy/tmp/cache/assets/development/sprockets/{97892dcc76bfd97e09ab26d3f7a6d522 → 5a9d98aab6468d4145bfb3679d8f46a4} +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sprockets/{04f730b2979d2f24cffafefd80e430f0 → 5ec7a8afbc75ef3680411d57bf500c10} +0 -0
  24. data/spec/dummy/tmp/cache/assets/development/sprockets/6fb95a4d04a493c1958c8112c68e30d0 +0 -0
  25. data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  26. data/spec/dummy/tmp/cache/assets/{test/sprockets/4a4d6fda449d6b443e5b29ccb755c732 → development/sprockets/8faea8655114d0db8275fc63435dd222} +0 -0
  27. data/spec/dummy/tmp/cache/assets/{test/sprockets/122e92d06837af295d6c941999a8d48f → development/sprockets/bdcfa382074adfcfee33a66ca60369e5} +0 -0
  28. data/spec/dummy/tmp/cache/assets/development/sprockets/{134039afc96b5a8d33c96d5da3816c1a → be8c32dfec8f23087d2a49f4c15f5a7c} +0 -0
  29. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  30. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  31. data/spec/dummy/tmp/cache/assets/development/sprockets/{c63406c52c03bbb24922ded6ebb0e0a2 → e04a185a0dd1c46d11b045fd32892630} +0 -0
  32. data/spec/dummy/tmp/cache/assets/development/sprockets/{bfaeb96080cc4d8ba400fbdcd1d4aab2 → e542415070959893cd2698159bcbd47f} +0 -0
  33. data/spec/dummy/tmp/cache/assets/development/sprockets/f25cdc0488dad06bb5942cf82c0a2575 +0 -0
  34. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  35. data/spec/features/form_interactions_spec.rb +2 -2
  36. data/spec/helpers/validation_sync_form_helper_spec.rb +19 -12
  37. data/spec/lib/validation_builder_spec.rb +5 -5
  38. metadata +57 -158
  39. data/app/assets/javascripts/generate_validations.js.erb +0 -138
  40. data/spec/dummy/tmp/cache/assets/development/sprockets/0f11e0b3e0ece93d6c047318f2e5497d +0 -0
  41. data/spec/dummy/tmp/cache/assets/development/sprockets/0f53e3491015320ad54b7352dd6e9245 +0 -0
  42. data/spec/dummy/tmp/cache/assets/development/sprockets/10c6f05e183df4466be1e0171868fbd3 +0 -0
  43. data/spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1 +0 -0
  44. data/spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f +0 -0
  45. data/spec/dummy/tmp/cache/assets/development/sprockets/254f7fcb30f60607963da8bbb320eb25 +0 -0
  46. data/spec/dummy/tmp/cache/assets/development/sprockets/256916ba749d0c14e36b55d4b382e9f5 +0 -0
  47. data/spec/dummy/tmp/cache/assets/development/sprockets/38ec44893aed52b20a20a929a47e0ad9 +0 -0
  48. data/spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6 +0 -0
  49. data/spec/dummy/tmp/cache/assets/development/sprockets/43b02dba04222f7470018fdda830925e +0 -0
  50. data/spec/dummy/tmp/cache/assets/development/sprockets/467cb2a85cb807b3c28bacd8f6147dfc +0 -0
  51. data/spec/dummy/tmp/cache/assets/development/sprockets/4a4d6fda449d6b443e5b29ccb755c732 +0 -0
  52. data/spec/dummy/tmp/cache/assets/development/sprockets/513dd40b9b52367f54d64438a9d802b9 +0 -0
  53. data/spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4 +0 -0
  54. data/spec/dummy/tmp/cache/assets/development/sprockets/56146675dbad13c72d3eb9ebd823dc11 +0 -0
  55. data/spec/dummy/tmp/cache/assets/development/sprockets/5957a00e12da95bda275e8c3565a0316 +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sprockets/62d3fdf824fa141115db660a17ab94bc +0 -0
  57. data/spec/dummy/tmp/cache/assets/development/sprockets/76cec3171960b0a527249d215835fade +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sprockets/7aaf7da4e6ec4c84cc7948fb20c35064 +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sprockets/87283d82c809770d9da81fe4e72a2abe +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/ba165ee56ce37f61865fe03d6503539b +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/c4f1b332263aa5004a8ac54ca9530510 +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/c71eea08c37d8da406449ab45486b070 +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/cbc66bd36b3aa4411f9ce20da0fd37a0 +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/cc1ff523f6e3d417ee0a9bbbfe23a69b +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145 +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/d5a2d5bfe451248efe5aa31d1c94575c +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/d7874cf8a5946ec3899e5bb627905ca5 +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/e1d4998592ddfea795aca82d742d9478 +0 -0
  70. data/spec/dummy/tmp/cache/assets/test/sprockets/0f11e0b3e0ece93d6c047318f2e5497d +0 -0
  71. data/spec/dummy/tmp/cache/assets/test/sprockets/10c6f05e183df4466be1e0171868fbd3 +0 -0
  72. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  73. data/spec/dummy/tmp/cache/assets/test/sprockets/254f7fcb30f60607963da8bbb320eb25 +0 -0
  74. data/spec/dummy/tmp/cache/assets/test/sprockets/256916ba749d0c14e36b55d4b382e9f5 +0 -0
  75. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  76. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  77. data/spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  78. data/spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6 +0 -0
  79. data/spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4 +0 -0
  80. data/spec/dummy/tmp/cache/assets/test/sprockets/56146675dbad13c72d3eb9ebd823dc11 +0 -0
  81. data/spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  82. data/spec/dummy/tmp/cache/assets/test/sprockets/bfaeb96080cc4d8ba400fbdcd1d4aab2 +0 -0
  83. data/spec/dummy/tmp/cache/assets/test/sprockets/c4f1b332263aa5004a8ac54ca9530510 +0 -0
  84. data/spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b +0 -0
  85. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  86. data/spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145 +0 -0
  87. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  88. data/spec/dummy/tmp/cache/assets/test/sprockets/d7874cf8a5946ec3899e5bb627905ca5 +0 -0
  89. data/spec/dummy/tmp/cache/assets/test/sprockets/e1d4998592ddfea795aca82d742d9478 +0 -0
  90. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  91. data/spec/dummy/tmp/capybara/capybara-201402111733312899331645.html +0 -39
  92. data/spec/dummy/tmp/capybara/capybara-201402111742049902988712.html +0 -39
  93. data/spec/dummy/tmp/capybara/capybara-201402111743461497527818.html +0 -39
  94. data/spec/dummy/tmp/capybara/capybara-201402121034216891460553.html +0 -39
  95. data/spec/dummy/tmp/capybara/capybara-201402121100145511229652.html +0 -39
  96. data/spec/dummy/tmp/capybara/capybara-20140212110749239625833.html +0 -39
  97. data/spec/dummy/tmp/capybara/capybara-201402121110009350488348.html +0 -39
  98. data/spec/dummy/tmp/capybara/capybara-201402121242315707153414.html +0 -54
  99. data/spec/dummy/tmp/capybara/capybara-2014021212463939561980.html +0 -47
  100. data/spec/dummy/tmp/capybara/capybara-201402121308362867044001.html +0 -47
  101. data/spec/dummy/tmp/capybara/capybara-201402121309286432044699.html +0 -47
  102. data/spec/dummy/tmp/capybara/capybara-201402121506235794052148.html +0 -39
  103. data/spec/dummy/tmp/capybara/capybara-201402121507316558835315.html +0 -27
  104. data/spec/dummy/tmp/capybara/capybara-201402121512202956445364.html +0 -39
  105. data/spec/dummy/tmp/capybara/capybara-201402121517176338336364.html +0 -39
  106. data/spec/dummy/tmp/capybara/capybara-201402121518121290133083.html +0 -39
  107. data/spec/dummy/tmp/pids/server.pid +0 -1
  108. data/spec/features/generate_validations_spec.rb +0 -26
@@ -18,7 +18,7 @@ describe Post do
18
18
  it "has a custom validation message for 'title'" do
19
19
  post = build(:post, title: "")
20
20
  post.valid?
21
- expect(post.errors.messages[:title]).to include('You need a title, bro.')
21
+ expect(post.errors.messages[:title]).to include('You need a title, dude.')
22
22
  end
23
23
 
24
24
  it "has a min title length of 5" do
@@ -38,8 +38,8 @@ describe "Interacting with forms", :js => true do
38
38
  click_button "Create Post"
39
39
  # we should not have changed pages
40
40
  expect(current_path).to eq new_post_path
41
- # We validate the presence of Post.title with the message "You need a title, bro."
42
- expect(page).to have_content "You need a title, bro."
41
+ # We validate the presence of Post.title with the message "You need a title, dude."
42
+ expect(page).to have_content "You need a title, dude."
43
43
  end
44
44
 
45
45
  it "shows the default message when no custom message is defined" do
@@ -2,23 +2,30 @@ require 'spec_helper'
2
2
 
3
3
  describe ValidationSyncFormHelper do
4
4
 
5
- describe "Overriding the Form Builder" do
6
-
7
- it "adds the 'data-sync-validations' attribute to all forms" do
8
- form = form_for(Post.new) {|p| }
9
- expect(form).to include "data-sync-validations="
5
+ describe "Overriding the Form Builder (form_for)" do
6
+ context "with no :validate attribute" do
7
+ before(:each){ @form = form_for(Post.new) {|p| } }
8
+
9
+ it "defaults to data-sync-validations = false" do
10
+ expect(@form).to include 'data-sync-validations="false"'
11
+ end
10
12
  end
11
13
 
12
- it "defaults to data-sync-validations = false" do
13
- form = form_for(Post.new) {|p| }
14
- expect(form).to include 'data-sync-validations="false"'
14
+ context "with :validate => false" do
15
+ before(:each){ @form = form_for(Post.new, :validate => false) {|p| } }
16
+
17
+ it "sets data-sync-validations = false" do
18
+ expect(@form).to include 'data-sync-validations="false"'
19
+ end
15
20
  end
16
21
 
17
- it "allows you to set data-sync-validations = true" do
18
- form = form_for(Post.new, :validate => true) {|p| }
19
- expect(form).to include 'data-sync-validations="true"'
22
+ context "with :validate => true" do
23
+ before(:each){ @form = form_for(Post.new, :validate => true) {|p| } }
24
+
25
+ it "sets data-sync-validations = true" do
26
+ expect(@form).to include 'data-sync-validations="true"'
27
+ end
20
28
  end
21
-
22
29
  end # Overriding the Form Builder
23
30
 
24
31
  end
@@ -136,17 +136,17 @@ describe ValidationBuilder do
136
136
  describe "get_validation_message" do
137
137
 
138
138
  it "returns a custom validation message, if one exists" do
139
- # our dummy app validates the presence of Post.title with the message "You need a title, bro."
139
+ # our dummy app validates the presence of Post.title with the message "You need a title, dude."
140
140
  message = @builder.get_validation_message("post", :title, ActiveRecord::Validations::PresenceValidator)
141
- expect(message).to eq "You need a title, bro."
141
+ expect(message).to eq "You need a title, dude."
142
142
  end
143
143
 
144
144
  it "makes use of the builder's default arguments" do
145
145
  @builder.object_name = "post"
146
146
  @builder.method = :title
147
- # our dummy app validates the presence of Post.title with the message "You need a title, bro."
147
+ # our dummy app validates the presence of Post.title with the message "You need a title, dude."
148
148
  message = @builder.get_validation_message(ActiveRecord::Validations::PresenceValidator)
149
- expect(message).to eq "You need a title, bro."
149
+ expect(message).to eq "You need a title, dude."
150
150
  end
151
151
 
152
152
  it "returns nil if that validation is not used at all" do
@@ -170,4 +170,4 @@ describe ValidationBuilder do
170
170
  end # get_validation_message
171
171
 
172
172
 
173
- end # ValidationBuilder
173
+ end # ValidationBuilder
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validation_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Hackley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-12 00:00:00.000000000 Z
11
+ date: 2014-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: formtastic
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: turbolinks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rspec-rails
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -159,7 +187,6 @@ extra_rdoc_files: []
159
187
  files:
160
188
  - MIT-LICENSE
161
189
  - Rakefile
162
- - app/assets/javascripts/generate_validations.js.erb
163
190
  - app/assets/javascripts/jquery.validate.min.js
164
191
  - app/assets/javascripts/validation_sync.js
165
192
  - app/assets/stylesheets/validation_sync/application.css
@@ -218,6 +245,7 @@ files:
218
245
  - spec/dummy/db/migrate/20140211200846_create_users.rb
219
246
  - spec/dummy/db/migrate/20140212170448_add_order_to_posts.rb
220
247
  - spec/dummy/db/migrate/20140212173012_add_user_id_to_posts.rb
248
+ - spec/dummy/db/production.sqlite3
221
249
  - spec/dummy/db/schema.rb
222
250
  - spec/dummy/db/test.sqlite3
223
251
  - spec/dummy/log/development.log
@@ -230,93 +258,28 @@ files:
230
258
  - spec/dummy/spec/factories/users.rb
231
259
  - spec/dummy/spec/models/post_spec.rb
232
260
  - spec/dummy/spec/models/user_spec.rb
233
- - spec/dummy/tmp/cache/assets/development/sprockets/04f730b2979d2f24cffafefd80e430f0
234
- - spec/dummy/tmp/cache/assets/development/sprockets/0f11e0b3e0ece93d6c047318f2e5497d
235
- - spec/dummy/tmp/cache/assets/development/sprockets/0f53e3491015320ad54b7352dd6e9245
236
- - spec/dummy/tmp/cache/assets/development/sprockets/10c6f05e183df4466be1e0171868fbd3
237
- - spec/dummy/tmp/cache/assets/development/sprockets/122e92d06837af295d6c941999a8d48f
238
- - spec/dummy/tmp/cache/assets/development/sprockets/134039afc96b5a8d33c96d5da3816c1a
261
+ - spec/dummy/tmp/cache/assets/development/sprockets/07f5a31ebed66368f3320bd38664147b
239
262
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
240
- - spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1
241
- - spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f
242
- - spec/dummy/tmp/cache/assets/development/sprockets/254f7fcb30f60607963da8bbb320eb25
243
- - spec/dummy/tmp/cache/assets/development/sprockets/256916ba749d0c14e36b55d4b382e9f5
263
+ - spec/dummy/tmp/cache/assets/development/sprockets/18d10bb606c4e73f1534122fae75ccf5
244
264
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
245
265
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
246
266
  - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
247
- - spec/dummy/tmp/cache/assets/development/sprockets/38ec44893aed52b20a20a929a47e0ad9
248
- - spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6
249
- - spec/dummy/tmp/cache/assets/development/sprockets/43b02dba04222f7470018fdda830925e
250
- - spec/dummy/tmp/cache/assets/development/sprockets/467cb2a85cb807b3c28bacd8f6147dfc
251
- - spec/dummy/tmp/cache/assets/development/sprockets/4a4d6fda449d6b443e5b29ccb755c732
252
267
  - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
253
- - spec/dummy/tmp/cache/assets/development/sprockets/513dd40b9b52367f54d64438a9d802b9
254
- - spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4
255
- - spec/dummy/tmp/cache/assets/development/sprockets/56146675dbad13c72d3eb9ebd823dc11
256
- - spec/dummy/tmp/cache/assets/development/sprockets/5957a00e12da95bda275e8c3565a0316
257
- - spec/dummy/tmp/cache/assets/development/sprockets/62d3fdf824fa141115db660a17ab94bc
268
+ - spec/dummy/tmp/cache/assets/development/sprockets/555ac815791654385407d4442dfa1b7b
269
+ - spec/dummy/tmp/cache/assets/development/sprockets/5a9d98aab6468d4145bfb3679d8f46a4
270
+ - spec/dummy/tmp/cache/assets/development/sprockets/5ec7a8afbc75ef3680411d57bf500c10
271
+ - spec/dummy/tmp/cache/assets/development/sprockets/6fb95a4d04a493c1958c8112c68e30d0
258
272
  - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
259
- - spec/dummy/tmp/cache/assets/development/sprockets/76cec3171960b0a527249d215835fade
260
- - spec/dummy/tmp/cache/assets/development/sprockets/7aaf7da4e6ec4c84cc7948fb20c35064
261
- - spec/dummy/tmp/cache/assets/development/sprockets/87283d82c809770d9da81fe4e72a2abe
262
- - spec/dummy/tmp/cache/assets/development/sprockets/97892dcc76bfd97e09ab26d3f7a6d522
263
- - spec/dummy/tmp/cache/assets/development/sprockets/ba165ee56ce37f61865fe03d6503539b
264
- - spec/dummy/tmp/cache/assets/development/sprockets/bfaeb96080cc4d8ba400fbdcd1d4aab2
265
- - spec/dummy/tmp/cache/assets/development/sprockets/c4f1b332263aa5004a8ac54ca9530510
266
- - spec/dummy/tmp/cache/assets/development/sprockets/c63406c52c03bbb24922ded6ebb0e0a2
267
- - spec/dummy/tmp/cache/assets/development/sprockets/c71eea08c37d8da406449ab45486b070
268
- - spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
269
- - spec/dummy/tmp/cache/assets/development/sprockets/cbc66bd36b3aa4411f9ce20da0fd37a0
270
- - spec/dummy/tmp/cache/assets/development/sprockets/cc1ff523f6e3d417ee0a9bbbfe23a69b
273
+ - spec/dummy/tmp/cache/assets/development/sprockets/8faea8655114d0db8275fc63435dd222
274
+ - spec/dummy/tmp/cache/assets/development/sprockets/bdcfa382074adfcfee33a66ca60369e5
275
+ - spec/dummy/tmp/cache/assets/development/sprockets/be8c32dfec8f23087d2a49f4c15f5a7c
271
276
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
272
- - spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145
273
- - spec/dummy/tmp/cache/assets/development/sprockets/d5a2d5bfe451248efe5aa31d1c94575c
274
277
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
275
- - spec/dummy/tmp/cache/assets/development/sprockets/d7874cf8a5946ec3899e5bb627905ca5
276
- - spec/dummy/tmp/cache/assets/development/sprockets/e1d4998592ddfea795aca82d742d9478
278
+ - spec/dummy/tmp/cache/assets/development/sprockets/e04a185a0dd1c46d11b045fd32892630
279
+ - spec/dummy/tmp/cache/assets/development/sprockets/e542415070959893cd2698159bcbd47f
280
+ - spec/dummy/tmp/cache/assets/development/sprockets/f25cdc0488dad06bb5942cf82c0a2575
277
281
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
278
- - spec/dummy/tmp/cache/assets/test/sprockets/0f11e0b3e0ece93d6c047318f2e5497d
279
- - spec/dummy/tmp/cache/assets/test/sprockets/10c6f05e183df4466be1e0171868fbd3
280
- - spec/dummy/tmp/cache/assets/test/sprockets/122e92d06837af295d6c941999a8d48f
281
- - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
282
- - spec/dummy/tmp/cache/assets/test/sprockets/254f7fcb30f60607963da8bbb320eb25
283
- - spec/dummy/tmp/cache/assets/test/sprockets/256916ba749d0c14e36b55d4b382e9f5
284
- - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
285
- - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
286
- - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
287
- - spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6
288
- - spec/dummy/tmp/cache/assets/test/sprockets/4a4d6fda449d6b443e5b29ccb755c732
289
- - spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4
290
- - spec/dummy/tmp/cache/assets/test/sprockets/56146675dbad13c72d3eb9ebd823dc11
291
- - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
292
- - spec/dummy/tmp/cache/assets/test/sprockets/bfaeb96080cc4d8ba400fbdcd1d4aab2
293
- - spec/dummy/tmp/cache/assets/test/sprockets/c4f1b332263aa5004a8ac54ca9530510
294
- - spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
295
- - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
296
- - spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145
297
- - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
298
- - spec/dummy/tmp/cache/assets/test/sprockets/d7874cf8a5946ec3899e5bb627905ca5
299
- - spec/dummy/tmp/cache/assets/test/sprockets/e1d4998592ddfea795aca82d742d9478
300
- - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
301
- - spec/dummy/tmp/capybara/capybara-201402111733312899331645.html
302
- - spec/dummy/tmp/capybara/capybara-201402111742049902988712.html
303
- - spec/dummy/tmp/capybara/capybara-201402111743461497527818.html
304
- - spec/dummy/tmp/capybara/capybara-201402121034216891460553.html
305
- - spec/dummy/tmp/capybara/capybara-201402121100145511229652.html
306
- - spec/dummy/tmp/capybara/capybara-20140212110749239625833.html
307
- - spec/dummy/tmp/capybara/capybara-201402121110009350488348.html
308
- - spec/dummy/tmp/capybara/capybara-201402121242315707153414.html
309
- - spec/dummy/tmp/capybara/capybara-2014021212463939561980.html
310
- - spec/dummy/tmp/capybara/capybara-201402121308362867044001.html
311
- - spec/dummy/tmp/capybara/capybara-201402121309286432044699.html
312
- - spec/dummy/tmp/capybara/capybara-201402121506235794052148.html
313
- - spec/dummy/tmp/capybara/capybara-201402121507316558835315.html
314
- - spec/dummy/tmp/capybara/capybara-201402121512202956445364.html
315
- - spec/dummy/tmp/capybara/capybara-201402121517176338336364.html
316
- - spec/dummy/tmp/capybara/capybara-201402121518121290133083.html
317
- - spec/dummy/tmp/pids/server.pid
318
282
  - spec/features/form_interactions_spec.rb
319
- - spec/features/generate_validations_spec.rb
320
283
  - spec/helpers/validation_sync_form_helper_spec.rb
321
284
  - spec/lib/validation_builder_spec.rb
322
285
  - spec/spec_helper.rb
@@ -339,7 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
339
302
  version: '0'
340
303
  requirements: []
341
304
  rubyforge_project:
342
- rubygems_version: 2.2.1
305
+ rubygems_version: 2.2.2
343
306
  signing_key:
344
307
  specification_version: 4
345
308
  summary: Reuse your Rails model validations on the client-side.
@@ -390,6 +353,7 @@ test_files:
390
353
  - spec/dummy/db/migrate/20140211200846_create_users.rb
391
354
  - spec/dummy/db/migrate/20140212170448_add_order_to_posts.rb
392
355
  - spec/dummy/db/migrate/20140212173012_add_user_id_to_posts.rb
356
+ - spec/dummy/db/production.sqlite3
393
357
  - spec/dummy/db/schema.rb
394
358
  - spec/dummy/db/test.sqlite3
395
359
  - spec/dummy/log/development.log
@@ -404,93 +368,28 @@ test_files:
404
368
  - spec/dummy/spec/factories/users.rb
405
369
  - spec/dummy/spec/models/post_spec.rb
406
370
  - spec/dummy/spec/models/user_spec.rb
407
- - spec/dummy/tmp/cache/assets/development/sprockets/04f730b2979d2f24cffafefd80e430f0
408
- - spec/dummy/tmp/cache/assets/development/sprockets/0f11e0b3e0ece93d6c047318f2e5497d
409
- - spec/dummy/tmp/cache/assets/development/sprockets/0f53e3491015320ad54b7352dd6e9245
410
- - spec/dummy/tmp/cache/assets/development/sprockets/10c6f05e183df4466be1e0171868fbd3
411
- - spec/dummy/tmp/cache/assets/development/sprockets/122e92d06837af295d6c941999a8d48f
412
- - spec/dummy/tmp/cache/assets/development/sprockets/134039afc96b5a8d33c96d5da3816c1a
371
+ - spec/dummy/tmp/cache/assets/development/sprockets/07f5a31ebed66368f3320bd38664147b
413
372
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
414
- - spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1
415
- - spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f
416
- - spec/dummy/tmp/cache/assets/development/sprockets/254f7fcb30f60607963da8bbb320eb25
417
- - spec/dummy/tmp/cache/assets/development/sprockets/256916ba749d0c14e36b55d4b382e9f5
373
+ - spec/dummy/tmp/cache/assets/development/sprockets/18d10bb606c4e73f1534122fae75ccf5
418
374
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
419
375
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
420
376
  - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
421
- - spec/dummy/tmp/cache/assets/development/sprockets/38ec44893aed52b20a20a929a47e0ad9
422
- - spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6
423
- - spec/dummy/tmp/cache/assets/development/sprockets/43b02dba04222f7470018fdda830925e
424
- - spec/dummy/tmp/cache/assets/development/sprockets/467cb2a85cb807b3c28bacd8f6147dfc
425
- - spec/dummy/tmp/cache/assets/development/sprockets/4a4d6fda449d6b443e5b29ccb755c732
426
377
  - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
427
- - spec/dummy/tmp/cache/assets/development/sprockets/513dd40b9b52367f54d64438a9d802b9
428
- - spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4
429
- - spec/dummy/tmp/cache/assets/development/sprockets/56146675dbad13c72d3eb9ebd823dc11
430
- - spec/dummy/tmp/cache/assets/development/sprockets/5957a00e12da95bda275e8c3565a0316
431
- - spec/dummy/tmp/cache/assets/development/sprockets/62d3fdf824fa141115db660a17ab94bc
378
+ - spec/dummy/tmp/cache/assets/development/sprockets/555ac815791654385407d4442dfa1b7b
379
+ - spec/dummy/tmp/cache/assets/development/sprockets/5a9d98aab6468d4145bfb3679d8f46a4
380
+ - spec/dummy/tmp/cache/assets/development/sprockets/5ec7a8afbc75ef3680411d57bf500c10
381
+ - spec/dummy/tmp/cache/assets/development/sprockets/6fb95a4d04a493c1958c8112c68e30d0
432
382
  - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
433
- - spec/dummy/tmp/cache/assets/development/sprockets/76cec3171960b0a527249d215835fade
434
- - spec/dummy/tmp/cache/assets/development/sprockets/7aaf7da4e6ec4c84cc7948fb20c35064
435
- - spec/dummy/tmp/cache/assets/development/sprockets/87283d82c809770d9da81fe4e72a2abe
436
- - spec/dummy/tmp/cache/assets/development/sprockets/97892dcc76bfd97e09ab26d3f7a6d522
437
- - spec/dummy/tmp/cache/assets/development/sprockets/ba165ee56ce37f61865fe03d6503539b
438
- - spec/dummy/tmp/cache/assets/development/sprockets/bfaeb96080cc4d8ba400fbdcd1d4aab2
439
- - spec/dummy/tmp/cache/assets/development/sprockets/c4f1b332263aa5004a8ac54ca9530510
440
- - spec/dummy/tmp/cache/assets/development/sprockets/c63406c52c03bbb24922ded6ebb0e0a2
441
- - spec/dummy/tmp/cache/assets/development/sprockets/c71eea08c37d8da406449ab45486b070
442
- - spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
443
- - spec/dummy/tmp/cache/assets/development/sprockets/cbc66bd36b3aa4411f9ce20da0fd37a0
444
- - spec/dummy/tmp/cache/assets/development/sprockets/cc1ff523f6e3d417ee0a9bbbfe23a69b
383
+ - spec/dummy/tmp/cache/assets/development/sprockets/8faea8655114d0db8275fc63435dd222
384
+ - spec/dummy/tmp/cache/assets/development/sprockets/bdcfa382074adfcfee33a66ca60369e5
385
+ - spec/dummy/tmp/cache/assets/development/sprockets/be8c32dfec8f23087d2a49f4c15f5a7c
445
386
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
446
- - spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145
447
- - spec/dummy/tmp/cache/assets/development/sprockets/d5a2d5bfe451248efe5aa31d1c94575c
448
387
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
449
- - spec/dummy/tmp/cache/assets/development/sprockets/d7874cf8a5946ec3899e5bb627905ca5
450
- - spec/dummy/tmp/cache/assets/development/sprockets/e1d4998592ddfea795aca82d742d9478
388
+ - spec/dummy/tmp/cache/assets/development/sprockets/e04a185a0dd1c46d11b045fd32892630
389
+ - spec/dummy/tmp/cache/assets/development/sprockets/e542415070959893cd2698159bcbd47f
390
+ - spec/dummy/tmp/cache/assets/development/sprockets/f25cdc0488dad06bb5942cf82c0a2575
451
391
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
452
- - spec/dummy/tmp/cache/assets/test/sprockets/0f11e0b3e0ece93d6c047318f2e5497d
453
- - spec/dummy/tmp/cache/assets/test/sprockets/10c6f05e183df4466be1e0171868fbd3
454
- - spec/dummy/tmp/cache/assets/test/sprockets/122e92d06837af295d6c941999a8d48f
455
- - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
456
- - spec/dummy/tmp/cache/assets/test/sprockets/254f7fcb30f60607963da8bbb320eb25
457
- - spec/dummy/tmp/cache/assets/test/sprockets/256916ba749d0c14e36b55d4b382e9f5
458
- - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
459
- - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
460
- - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
461
- - spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6
462
- - spec/dummy/tmp/cache/assets/test/sprockets/4a4d6fda449d6b443e5b29ccb755c732
463
- - spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4
464
- - spec/dummy/tmp/cache/assets/test/sprockets/56146675dbad13c72d3eb9ebd823dc11
465
- - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
466
- - spec/dummy/tmp/cache/assets/test/sprockets/bfaeb96080cc4d8ba400fbdcd1d4aab2
467
- - spec/dummy/tmp/cache/assets/test/sprockets/c4f1b332263aa5004a8ac54ca9530510
468
- - spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
469
- - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
470
- - spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145
471
- - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
472
- - spec/dummy/tmp/cache/assets/test/sprockets/d7874cf8a5946ec3899e5bb627905ca5
473
- - spec/dummy/tmp/cache/assets/test/sprockets/e1d4998592ddfea795aca82d742d9478
474
- - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
475
- - spec/dummy/tmp/capybara/capybara-201402111733312899331645.html
476
- - spec/dummy/tmp/capybara/capybara-201402111742049902988712.html
477
- - spec/dummy/tmp/capybara/capybara-201402111743461497527818.html
478
- - spec/dummy/tmp/capybara/capybara-201402121034216891460553.html
479
- - spec/dummy/tmp/capybara/capybara-201402121100145511229652.html
480
- - spec/dummy/tmp/capybara/capybara-20140212110749239625833.html
481
- - spec/dummy/tmp/capybara/capybara-201402121110009350488348.html
482
- - spec/dummy/tmp/capybara/capybara-201402121242315707153414.html
483
- - spec/dummy/tmp/capybara/capybara-2014021212463939561980.html
484
- - spec/dummy/tmp/capybara/capybara-201402121308362867044001.html
485
- - spec/dummy/tmp/capybara/capybara-201402121309286432044699.html
486
- - spec/dummy/tmp/capybara/capybara-201402121506235794052148.html
487
- - spec/dummy/tmp/capybara/capybara-201402121507316558835315.html
488
- - spec/dummy/tmp/capybara/capybara-201402121512202956445364.html
489
- - spec/dummy/tmp/capybara/capybara-201402121517176338336364.html
490
- - spec/dummy/tmp/capybara/capybara-201402121518121290133083.html
491
- - spec/dummy/tmp/pids/server.pid
492
392
  - spec/features/form_interactions_spec.rb
493
- - spec/features/generate_validations_spec.rb
494
393
  - spec/helpers/validation_sync_form_helper_spec.rb
495
394
  - spec/lib/validation_builder_spec.rb
496
395
  - spec/spec_helper.rb
@@ -1,138 +0,0 @@
1
- <%
2
- # Our Builder object
3
- @builder = ValidationBuilder.new
4
-
5
- # Helpers for ActiveRecord/Model Validators
6
- presence_validator = ActiveRecord::Validations::PresenceValidator
7
- number_validator = ActiveModel::Validations::NumericalityValidator
8
- confirmation_validator = ActiveModel::Validations::ConfirmationValidator
9
- %>
10
-
11
-
12
- var ValidationSync;
13
-
14
- ValidationSync = {
15
-
16
- init: function() {
17
- <% @builder.find_all_models.each do |model| %>
18
-
19
- // validate only if a relevant form is present
20
- if ( $(".new_<%= model[:name] %>[data-sync-validations='true'], .edit_<%= model[:name] %>[data-sync-validations='true']").length ){
21
- ValidationSync.validate<%= model[:name].camelize %>();
22
- }
23
-
24
- <% end %>
25
- },
26
-
27
-
28
- // build a validateModel() method for each ActiveRecord model
29
- <% @builder.find_all_models.each do |model| %>
30
-
31
- validate<%= model[:name].camelize %>: function() {
32
- $forms = $(".new_<%= model[:name] %>[data-sync-validations='true'], .edit_<%= model[:name] %>[data-sync-validations='true']");
33
- $forms.validate({
34
-
35
-
36
- rules: {
37
- <% model[:attributes].each do |attr|
38
-
39
- # Set default arguments
40
- @builder.object_name = model[:name]
41
- @builder.method = attr.to_sym
42
-
43
- %>
44
-
45
- "<%= model[:name] %>[<%= attr %>]": {
46
-
47
-
48
- // REQUIRED: if we use the presence_validator
49
- // ----------------------------------------------------------------
50
- <% if @builder.check_model_validation(presence_validator) %>
51
- required: true,
52
-
53
- // REQUIRED: if we use the number_validator, :allow_nil => false
54
- // ----------------------------------------------------------------
55
- <% elsif @builder.check_model_validation(number_validator) %>
56
- // with allow_nil = false
57
- <% if @builder.get_validation_attr(number_validator, :allow_nil).nil? %>
58
- required: true,
59
- <% end %>
60
- <% end # required %>
61
-
62
-
63
- // NUMBER: if we use the number_validator
64
- // ----------------------------------------------------------------
65
- <% if @builder.check_model_validation(number_validator) %>
66
- number: true,
67
- <% end %>
68
-
69
-
70
- // EQUALTO: if we use the confirmation_validator
71
- // ----------------------------------------------------------------
72
- <% if @builder.check_model_validation(confirmation_validator) %>
73
- equalTo: "#<%= model[:name] %>_<%= attr %>_confirmation",
74
- <% end %>
75
-
76
-
77
- },
78
- <% end # model[:attributes].each %>
79
- },
80
-
81
-
82
- messages: {
83
- <% model[:attributes].each do |attr|
84
-
85
- # Set default arguments
86
- @builder.object_name = model[:name]
87
- @builder.method = attr.to_sym
88
-
89
- %>
90
-
91
- "<%= model[:name] %>[<%= attr %>]": {
92
-
93
-
94
- // REQUIRED: if we use the presence_validator
95
- // ----------------------------------------------------------------
96
- <% if @builder.check_model_validation(presence_validator) %>
97
- required: "<%= @builder.get_validation_message(presence_validator) %>",
98
-
99
- // REQUIRED: if we use the number_validator, :allow_nil => false
100
- // ----------------------------------------------------------------
101
- <% elsif @builder.check_model_validation(number_validator) %>
102
- // with allow_nil = false
103
- <% if @builder.get_validation_attr(number_validator, :allow_nil).nil? %>
104
- required: "<%= @builder.get_validation_message(number_validator) %>",
105
- <% end %>
106
- <% end # required %>
107
-
108
-
109
- // NUMBER: if we use the number_validator
110
- // ----------------------------------------------------------------
111
- <% if @builder.check_model_validation(number_validator) %>
112
- number: "<%= @builder.get_validation_message(number_validator) %>",
113
- <% end %>
114
-
115
-
116
- // EQUALTO: if we use the confirmation_validator
117
- // ----------------------------------------------------------------
118
- <% if @builder.check_model_validation(confirmation_validator) %>
119
- equalTo: "<%= @builder.get_validation_message(confirmation_validator) %>",
120
- <% end %>
121
-
122
-
123
- },
124
- <% end # model[:attributes].each %>
125
- },
126
-
127
-
128
- }); // $forms.validate()
129
- }, // validateModel
130
-
131
- <% end # @builder.find_all_models.each %>
132
- }
133
-
134
-
135
-
136
-
137
- // Fire init() on ready (or page:load for turbolinks)
138
- $(document).on('ready page:load', ValidationSync.init);