validation_sync 0.0.5 → 0.0.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.
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);