judge 0.4.3 → 0.5.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.
@@ -0,0 +1,3 @@
1
+ gem "rails", "~> 3.0.3"
2
+ gem "sqlite3-ruby", "~> 1.3.2"
3
+ gem "judge"
@@ -0,0 +1,75 @@
1
+ GEM
2
+ specs:
3
+ abstract (1.0.0)
4
+ actionmailer (3.0.3)
5
+ actionpack (= 3.0.3)
6
+ mail (~> 2.2.9)
7
+ actionpack (3.0.3)
8
+ activemodel (= 3.0.3)
9
+ activesupport (= 3.0.3)
10
+ builder (~> 2.1.2)
11
+ erubis (~> 2.6.6)
12
+ i18n (~> 0.4)
13
+ rack (~> 1.2.1)
14
+ rack-mount (~> 0.6.13)
15
+ rack-test (~> 0.5.6)
16
+ tzinfo (~> 0.3.23)
17
+ activemodel (3.0.3)
18
+ activesupport (= 3.0.3)
19
+ builder (~> 2.1.2)
20
+ i18n (~> 0.4)
21
+ activerecord (3.0.3)
22
+ activemodel (= 3.0.3)
23
+ activesupport (= 3.0.3)
24
+ arel (~> 2.0.2)
25
+ tzinfo (~> 0.3.23)
26
+ activeresource (3.0.3)
27
+ activemodel (= 3.0.3)
28
+ activesupport (= 3.0.3)
29
+ activesupport (3.0.3)
30
+ arel (2.0.10)
31
+ builder (2.1.2)
32
+ erubis (2.6.6)
33
+ abstract (>= 1.0.0)
34
+ i18n (0.5.0)
35
+ judge (0.4.3)
36
+ mail (2.2.15)
37
+ activesupport (>= 2.3.6)
38
+ i18n (>= 0.4.0)
39
+ mime-types (~> 1.16)
40
+ treetop (~> 1.4.8)
41
+ mime-types (1.16)
42
+ polyglot (0.3.2)
43
+ rack (1.2.4)
44
+ rack-mount (0.6.14)
45
+ rack (>= 1.0.0)
46
+ rack-test (0.5.7)
47
+ rack (>= 1.0)
48
+ rails (3.0.3)
49
+ actionmailer (= 3.0.3)
50
+ actionpack (= 3.0.3)
51
+ activerecord (= 3.0.3)
52
+ activeresource (= 3.0.3)
53
+ activesupport (= 3.0.3)
54
+ bundler (~> 1.0)
55
+ railties (= 3.0.3)
56
+ railties (3.0.3)
57
+ actionpack (= 3.0.3)
58
+ activesupport (= 3.0.3)
59
+ rake (>= 0.8.7)
60
+ thor (~> 0.14.4)
61
+ rake (0.9.2)
62
+ sqlite3-ruby (1.3.2)
63
+ thor (0.14.6)
64
+ treetop (1.4.10)
65
+ polyglot
66
+ polyglot (>= 0.3.1)
67
+ tzinfo (0.3.30)
68
+
69
+ PLATFORMS
70
+ ruby
71
+
72
+ DEPENDENCIES
73
+ judge
74
+ rails (~> 3.0.3)
75
+ sqlite3-ruby (~> 1.3.2)
@@ -1,6 +1,6 @@
1
1
  <h1>New foo</h1>
2
2
 
3
- <%= validated_form_for(@foo) do |f| %>
3
+ <%= form_for(@foo) do |f| %>
4
4
  <% if @foo.errors.any? %>
5
5
  <div id="error_explanation">
6
6
  <h2><%= pluralize(@foo.errors.count, "error") %> prohibited this foo from being saved:</h2>
@@ -3,3 +3,10 @@
3
3
 
4
4
  en:
5
5
  hello: "Hello world"
6
+
7
+ activerecord:
8
+ errors:
9
+ messages:
10
+ blank: "activerecord errors messages blank"
11
+
12
+
data/test/judge_test.rb CHANGED
@@ -3,17 +3,7 @@ require 'test_helper'
3
3
  class JudgeTest < ActionController::TestCase
4
4
  tests FoosController
5
5
 
6
- context "form tag" do
7
-
8
- should "include validation messages in data attribute" do
9
- get :new
10
- assert_equal Hash, error_messages.class
11
- assert error_messages.include? "inclusion"
12
- end
13
-
14
- end
15
-
16
- context "validators" do
6
+ context "JSONified validators" do
17
7
 
18
8
  setup { get :new }
19
9
 
@@ -27,6 +17,7 @@ class JudgeTest < ActionController::TestCase
27
17
  assert_equal "length", validators.first["kind"]
28
18
  assert_equal Fixnum, validators.first["options"]["minimum"].class
29
19
  assert_equal Fixnum, validators.first["options"]["maximum"].class
20
+
30
21
  assert validators.first["options"]["allow_blank"]
31
22
  end
32
23
 
@@ -77,10 +68,10 @@ class JudgeTest < ActionController::TestCase
77
68
 
78
69
  end
79
70
 
80
- context "validated tag output" do
71
+ context "form builder" do
81
72
  setup do
82
73
  get :new
83
- @form = Nokogiri::HTML(css_select("form[data-error-messages]").first.to_s)
74
+ @form = Nokogiri::HTML(css_select("form").first.to_s)
84
75
  end
85
76
 
86
77
  should "do validated_select" do
@@ -145,14 +136,45 @@ class JudgeTest < ActionController::TestCase
145
136
 
146
137
  end
147
138
 
139
+ context "data attribute messages option" do
140
+
141
+ setup do
142
+ get :new
143
+ @exclusion_validator = validators_from("select#foo_three").first
144
+ end
145
+
146
+ should "be present" do
147
+ assert_equal Hash, @exclusion_validator["messages"].class
148
+ end
149
+
150
+ should "include base message" do
151
+ assert @exclusion_validator["messages"]["exclusion"], "base message not found"
152
+ end
153
+
154
+ should "lookup i18n error message" do
155
+ assert_equal "activerecord errors messages blank", @exclusion_validator["messages"]["blank"]
156
+ end
157
+
158
+ should "not include blank message if allow_blank is true" do
159
+ length_validator = validators_from("input#foo_two_foobar").first
160
+ assert_equal nil, length_validator["messages"]["blank"]
161
+ end
162
+
163
+ should "include not_an_integer message if only_integer is true" do
164
+ numericality_validator = validators_from("textarea#foo_four").first
165
+ assert numericality_validator["messages"]["not_an_integer"], "not_an_integer message not found"
166
+ end
167
+
168
+ end
169
+
148
170
  def validators_from(selector)
149
- form = Nokogiri::HTML(css_select("form[data-error-messages]").first.to_s)
171
+ form = Nokogiri::HTML(css_select("form").first.to_s)
150
172
  data_attribute = form.css(selector).first["data-validate"]
151
173
  JSON.parse(data_attribute)
152
174
  end
153
175
 
154
176
  def error_messages
155
- form = Nokogiri::HTML(css_select("form[data-error-messages]").first.to_s)
177
+ form = Nokogiri::HTML(css_select("form").first.to_s)
156
178
  data_attribute = form.css("form").first["data-error-messages"]
157
179
  JSON.parse(data_attribute)
158
180
  end
metadata CHANGED
@@ -1,152 +1,113 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: judge
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 4
8
- - 3
9
- version: 0.4.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Joe Corcoran
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-08-16 00:00:00 +01:00
12
+ date: 2011-11-13 00:00:00.000000000 +00:00
18
13
  default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
21
16
  name: bundler
22
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2168570340 !ruby/object:Gem::Requirement
23
18
  none: false
24
- requirements:
19
+ requirements:
25
20
  - - ~>
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 0
30
- - 0
31
- version: 1.0.0
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.18
32
23
  type: :development
33
24
  prerelease: false
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *2168570340
26
+ - !ruby/object:Gem::Dependency
36
27
  name: jeweler
37
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &2168569740 !ruby/object:Gem::Requirement
38
29
  none: false
39
- requirements:
30
+ requirements:
40
31
  - - ~>
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 1
44
- - 5
45
- - 2
32
+ - !ruby/object:Gem::Version
46
33
  version: 1.5.2
47
34
  type: :development
48
35
  prerelease: false
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *2168569740
37
+ - !ruby/object:Gem::Dependency
51
38
  name: jasmine
52
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &2168569100 !ruby/object:Gem::Requirement
53
40
  none: false
54
- requirements:
41
+ requirements:
55
42
  - - ~>
56
- - !ruby/object:Gem::Version
57
- segments:
58
- - 1
59
- - 0
60
- - 2
43
+ - !ruby/object:Gem::Version
61
44
  version: 1.0.2
62
45
  type: :development
63
46
  prerelease: false
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *2168569100
48
+ - !ruby/object:Gem::Dependency
66
49
  name: rails
67
- requirement: &id004 !ruby/object:Gem::Requirement
50
+ requirement: &2168568460 !ruby/object:Gem::Requirement
68
51
  none: false
69
- requirements:
52
+ requirements:
70
53
  - - ~>
71
- - !ruby/object:Gem::Version
72
- segments:
73
- - 3
74
- - 0
75
- - 3
76
- version: 3.0.3
54
+ - !ruby/object:Gem::Version
55
+ version: 3.0.10
77
56
  type: :development
78
57
  prerelease: false
79
- version_requirements: *id004
80
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *2168568460
59
+ - !ruby/object:Gem::Dependency
81
60
  name: shoulda
82
- requirement: &id005 !ruby/object:Gem::Requirement
61
+ requirement: &2168567820 !ruby/object:Gem::Requirement
83
62
  none: false
84
- requirements:
63
+ requirements:
85
64
  - - ~>
86
- - !ruby/object:Gem::Version
87
- segments:
88
- - 2
89
- - 11
90
- - 3
65
+ - !ruby/object:Gem::Version
91
66
  version: 2.11.3
92
67
  type: :development
93
68
  prerelease: false
94
- version_requirements: *id005
95
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *2168567820
70
+ - !ruby/object:Gem::Dependency
96
71
  name: sqlite3-ruby
97
- requirement: &id006 !ruby/object:Gem::Requirement
72
+ requirement: &2168531380 !ruby/object:Gem::Requirement
98
73
  none: false
99
- requirements:
74
+ requirements:
100
75
  - - ~>
101
- - !ruby/object:Gem::Version
102
- segments:
103
- - 1
104
- - 3
105
- - 2
76
+ - !ruby/object:Gem::Version
106
77
  version: 1.3.2
107
78
  type: :development
108
79
  prerelease: false
109
- version_requirements: *id006
110
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *2168531380
81
+ - !ruby/object:Gem::Dependency
111
82
  name: nokogiri
112
- requirement: &id007 !ruby/object:Gem::Requirement
83
+ requirement: &2168530420 !ruby/object:Gem::Requirement
113
84
  none: false
114
- requirements:
85
+ requirements:
115
86
  - - ~>
116
- - !ruby/object:Gem::Version
117
- segments:
118
- - 1
119
- - 4
120
- - 4
121
- version: 1.4.4
87
+ - !ruby/object:Gem::Version
88
+ version: 1.4.7
122
89
  type: :development
123
90
  prerelease: false
124
- version_requirements: *id007
125
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *2168530420
92
+ - !ruby/object:Gem::Dependency
126
93
  name: json
127
- requirement: &id008 !ruby/object:Gem::Requirement
94
+ requirement: &2168529340 !ruby/object:Gem::Requirement
128
95
  none: false
129
- requirements:
96
+ requirements:
130
97
  - - ~>
131
- - !ruby/object:Gem::Version
132
- segments:
133
- - 1
134
- - 4
135
- - 6
136
- version: 1.4.6
98
+ - !ruby/object:Gem::Version
99
+ version: 1.6.0
137
100
  type: :development
138
101
  prerelease: false
139
- version_requirements: *id008
102
+ version_requirements: *2168529340
140
103
  description: Validate forms in-place using your model validations
141
104
  email: joe@tribesports.com
142
105
  executables: []
143
-
144
106
  extensions: []
145
-
146
- extra_rdoc_files:
107
+ extra_rdoc_files:
147
108
  - LICENSE.txt
148
109
  - README.md
149
- files:
110
+ files:
150
111
  - .document
151
112
  - .travis.yml
152
113
  - Gemfile
@@ -177,6 +138,8 @@ files:
177
138
  - spec/javascripts/support/jasmine_config.rb
178
139
  - spec/javascripts/support/jasmine_runner.rb
179
140
  - spec/javascripts/support/phantomRunner.js
141
+ - test/dummy/Gemfile
142
+ - test/dummy/Gemfile.lock
180
143
  - test/dummy/Rakefile
181
144
  - test/dummy/app/controllers/application_controller.rb
182
145
  - test/dummy/app/controllers/foos_controller.rb
@@ -227,38 +190,34 @@ files:
227
190
  - test/test_helper.rb
228
191
  has_rdoc: true
229
192
  homepage: http://github.com/joecorcoran/judge
230
- licenses:
193
+ licenses:
231
194
  - MIT
232
195
  post_install_message:
233
196
  rdoc_options: []
234
-
235
- require_paths:
197
+ require_paths:
236
198
  - lib
237
- required_ruby_version: !ruby/object:Gem::Requirement
199
+ required_ruby_version: !ruby/object:Gem::Requirement
238
200
  none: false
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- hash: -1586018578204705053
243
- segments:
201
+ requirements:
202
+ - - ! '>='
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ segments:
244
206
  - 0
245
- version: "0"
246
- required_rubygems_version: !ruby/object:Gem::Requirement
207
+ hash: 780299096256091398
208
+ required_rubygems_version: !ruby/object:Gem::Requirement
247
209
  none: false
248
- requirements:
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- segments:
252
- - 0
253
- version: "0"
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
254
214
  requirements: []
255
-
256
215
  rubyforge_project:
257
- rubygems_version: 1.3.7
216
+ rubygems_version: 1.6.2
258
217
  signing_key:
259
218
  specification_version: 3
260
219
  summary: Simple client-side ActiveModel::Validators
261
- test_files:
220
+ test_files:
262
221
  - spec/javascripts/support/jasmine_config.rb
263
222
  - spec/javascripts/support/jasmine_runner.rb
264
223
  - test/dummy/app/controllers/application_controller.rb