anodator 0.0.5 → 1.0.0.pre1

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 (43) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +5 -13
  6. data/LICENSE.txt +18 -17
  7. data/{README.ja.rdoc → README.ja.md} +2 -4
  8. data/README.md +39 -0
  9. data/Rakefile +3 -47
  10. data/anodator.gemspec +21 -103
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/anodator/check_result.rb +1 -1
  14. data/lib/anodator/input_spec.rb +2 -2
  15. data/lib/anodator/rule.rb +2 -2
  16. data/lib/anodator/utils.rb +4 -4
  17. data/lib/anodator/validator/format_validator.rb +1 -1
  18. data/lib/anodator/version.rb +3 -0
  19. data/lib/anodator.rb +1 -2
  20. metadata +70 -131
  21. data/Gemfile.lock +0 -29
  22. data/README.rdoc +0 -41
  23. data/spec/anodator/check_result_spec.rb +0 -101
  24. data/spec/anodator/checker_spec.rb +0 -273
  25. data/spec/anodator/input_spec_item_spec.rb +0 -100
  26. data/spec/anodator/input_spec_spec.rb +0 -584
  27. data/spec/anodator/message_spec.rb +0 -112
  28. data/spec/anodator/output_spec_spec.rb +0 -355
  29. data/spec/anodator/rule_set_spec.rb +0 -190
  30. data/spec/anodator/rule_spec.rb +0 -278
  31. data/spec/anodator/utils_spec.rb +0 -48
  32. data/spec/anodator/validator/base_spec.rb +0 -214
  33. data/spec/anodator/validator/blank_validator_spec.rb +0 -52
  34. data/spec/anodator/validator/complex_validator_spec.rb +0 -268
  35. data/spec/anodator/validator/date_validator_spec.rb +0 -350
  36. data/spec/anodator/validator/format_validator_spec.rb +0 -158
  37. data/spec/anodator/validator/inclusion_validator_spec.rb +0 -77
  38. data/spec/anodator/validator/length_validator_spec.rb +0 -236
  39. data/spec/anodator/validator/numeric_validator_spec.rb +0 -538
  40. data/spec/anodator/validator/presence_validator_spec.rb +0 -52
  41. data/spec/anodator/validator_spec.rb +0 -16
  42. data/spec/anodator_spec.rb +0 -2
  43. data/spec/spec_helper.rb +0 -12
@@ -1,268 +0,0 @@
1
- require "spec_helper"
2
-
3
- # Anodator::Validator::ComplexValidator
4
- require "anodator/validator/presence_validator"
5
- require "anodator/validator/complex_validator"
6
-
7
- include Anodator::Validator
8
-
9
- describe ComplexValidator, ".new" do
10
- context "with no paramerters" do
11
- it "should not raise error" do
12
- lambda {
13
- ComplexValidator.new
14
- }.should_not raise_error
15
- end
16
- end
17
-
18
- context "with :validators only, without :logic" do
19
- before(:each) do
20
- @new_proc = lambda {
21
- validators = []
22
- validators << PresenceValidator.new("1")
23
- validators << PresenceValidator.new("3")
24
- ComplexValidator.new(:validators => validators)
25
- }
26
- end
27
-
28
- it "should not raise error" do
29
- @new_proc.should_not raise_error
30
- end
31
-
32
- it ":logic should be ComplexValidator::LOGIC_AND" do
33
- complex_validator = @new_proc.call
34
- complex_validator.options[:logic].should == ComplexValidator::LOGIC_AND
35
- end
36
- end
37
-
38
- context "with :validators and :and_or option" do
39
- before(:each) do
40
- @new_proc = lambda {
41
- validators = []
42
- validators << PresenceValidator.new("1")
43
- validators << PresenceValidator.new("3")
44
- ComplexValidator.new(:validators => validators,
45
- :logic => ComplexValidator::LOGIC_OR)
46
- }
47
- end
48
-
49
- it "should not raise error" do
50
- @new_proc.should_not raise_error
51
- end
52
-
53
- it ":logic should be ComplexValidator::LOGIC_OR" do
54
- complex_validator = @new_proc.call
55
- complex_validator.options[:logic].should == ComplexValidator::LOGIC_OR
56
- end
57
- end
58
- end
59
-
60
- describe ComplexValidator, "#valid?" do
61
- context "no paramerters" do
62
- before(:each) do
63
- @validator = ComplexValidator.new
64
- Base.values = {
65
- "1" => "123",
66
- "2" => "",
67
- "3" => "message",
68
- "5" => "value",
69
- }
70
- end
71
-
72
- it "should raise error ConfigurationError" do
73
- lambda {
74
- @validator.valid?
75
- }.should raise_error ConfigurationError
76
- end
77
- end
78
-
79
- context "only :validators option" do
80
- before(:each) do
81
- @validator = ComplexValidator.new
82
- validators = []
83
- validators << PresenceValidator.new("1")
84
- validators << PresenceValidator.new("3")
85
- @validator = ComplexValidator.new(:validators => validators)
86
- end
87
-
88
- context "for values are valid" do
89
- before(:each) do
90
- Base.values = {
91
- "1" => "1",
92
- "2" => "",
93
- "3" => "3",
94
- }
95
- end
96
-
97
- it { @validator.should be_valid }
98
- end
99
-
100
- context "for values one valid, the other invalid" do
101
- before(:each) do
102
- Base.values = {
103
- "1" => "1",
104
- "2" => "",
105
- "3" => "",
106
- }
107
- end
108
-
109
- it { @validator.should_not be_valid }
110
- end
111
-
112
- context "for values are invalid at all values" do
113
- before(:each) do
114
- Base.values = {
115
- "1" => "",
116
- "2" => "3",
117
- "3" => "",
118
- }
119
- end
120
-
121
- it { @validator.should_not be_valid }
122
- end
123
- end
124
-
125
- context ":validators and :logic OR option" do
126
- before(:each) do
127
- validators = []
128
- validators << PresenceValidator.new("1")
129
- validators << PresenceValidator.new("3")
130
- @validator = ComplexValidator.new(:validators => validators,
131
- :logic => ComplexValidator::LOGIC_OR)
132
- end
133
-
134
- context "for values are valid" do
135
- before(:each) do
136
- Base.values = {
137
- "1" => "1",
138
- "2" => "",
139
- "3" => "3",
140
- }
141
- end
142
-
143
- it { @validator.should be_valid }
144
- end
145
-
146
- context "for values one valid, the other invalid" do
147
- before(:each) do
148
- Base.values = {
149
- "1" => "1",
150
- "2" => "",
151
- "3" => "",
152
- }
153
- end
154
-
155
- it { @validator.should be_valid }
156
- end
157
-
158
- context "for values are invalid at all values" do
159
- before(:each) do
160
- Base.values = {
161
- "1" => "",
162
- "2" => "3",
163
- "3" => "",
164
- }
165
- end
166
-
167
- it { @validator.should_not be_valid }
168
- end
169
- end
170
-
171
- context "for nested complex validator(A && (B || C))" do
172
- before(:each) do
173
- validators1, validators2 = [], []
174
- validators2 << PresenceValidator.new("A")
175
- validators1 << PresenceValidator.new("B")
176
- validators1 << PresenceValidator.new("C")
177
- validator1 = ComplexValidator.new(:validators => validators1,
178
- :logic => ComplexValidator::LOGIC_OR)
179
- validators2 << validator1
180
- @validator = ComplexValidator.new(:validators => validators2,
181
- :logic => ComplexValidator::LOGIC_AND)
182
- end
183
-
184
- context "for A(1), B(1), C(1)" do
185
- before(:each) do
186
- Base.values = {
187
- "A" => "1",
188
- "B" => "1",
189
- "C" => "1",
190
- }
191
- end
192
-
193
- it { @validator.should be_valid }
194
- end
195
-
196
- context "for A(), B(1), C(1)" do
197
- before(:each) do
198
- Base.values = {
199
- "A" => "",
200
- "B" => "1",
201
- "C" => "1",
202
- }
203
- end
204
-
205
- it { @validator.should_not be_valid }
206
- end
207
-
208
- context "for A(), B(), C(1)" do
209
- before(:each) do
210
- Base.values = {
211
- "A" => "",
212
- "B" => "",
213
- "C" => "1",
214
- }
215
- end
216
-
217
- it { @validator.should_not be_valid }
218
- end
219
-
220
- context "for A(1), B(), C()" do
221
- before(:each) do
222
- Base.values = {
223
- "A" => "1",
224
- "B" => "",
225
- "C" => "",
226
- }
227
- end
228
-
229
- it { @validator.should_not be_valid }
230
- end
231
-
232
- context "for A(1), B(), C(1)" do
233
- before(:each) do
234
- Base.values = {
235
- "A" => "1",
236
- "B" => "",
237
- "C" => "1",
238
- }
239
- end
240
-
241
- it { @validator.should be_valid }
242
- end
243
-
244
- context "for A(1), B(1), C()" do
245
- before(:each) do
246
- Base.values = {
247
- "A" => "1",
248
- "B" => "1",
249
- "C" => "",
250
- }
251
- end
252
-
253
- it { @validator.should be_valid }
254
- end
255
-
256
- context "for A(), B(), C()" do
257
- before(:each) do
258
- Base.values = {
259
- "A" => "",
260
- "B" => "",
261
- "C" => "",
262
- }
263
- end
264
-
265
- it { @validator.should_not be_valid }
266
- end
267
- end
268
- end
@@ -1,350 +0,0 @@
1
- require "spec_helper"
2
-
3
- # Anodator::Validator::DateValidator
4
- require "anodator/validator/date_validator"
5
-
6
- include Anodator::Validator
7
-
8
- describe DateValidator, ".new" do
9
- context "with no parameters" do
10
- it "should raise ArgumentError" do
11
- lambda {
12
- DateValidator.new
13
- }.should raise_error ArgumentError
14
- end
15
- end
16
-
17
- context "with only target expression" do
18
- before(:each) do
19
- @new_proc = lambda {
20
- DateValidator.new("1")
21
- }
22
- end
23
-
24
- it "should not raise error" do
25
- @new_proc.should_not raise_error
26
- end
27
-
28
- it { @new_proc.call.format.should == "YYYY-MM-DD" }
29
- end
30
-
31
- context "with target expression and :format option" do
32
- context ":format option is valid" do
33
- before(:each) do
34
- @new_proc = lambda {
35
- DateValidator.new("1", :format => "YYYY/MM/DD")
36
- }
37
- end
38
-
39
- it "should not raise error" do
40
- @new_proc.should_not raise_error
41
- end
42
-
43
- context "and :from same format" do
44
- before(:each) do
45
- @new_proc = lambda {
46
- DateValidator.new("1", :format => "YYYY/MM/DD", :from => "2011/01/01")
47
- }
48
- end
49
-
50
- it "should not raise error" do
51
- @new_proc.should_not raise_error
52
- end
53
- end
54
- end
55
-
56
- context ":format option contains double YYYY is invalid" do
57
- before(:each) do
58
- @new_proc = lambda {
59
- DateValidator.new("1", :format => "YYYY/MM-DD YYYY")
60
- }
61
- end
62
-
63
- it "should raise ArgumentError" do
64
- @new_proc.should raise_error ArgumentError
65
- end
66
- end
67
-
68
- context ":format option not contains D is invalid" do
69
- before(:each) do
70
- @new_proc = lambda {
71
- DateValidator.new("1", :format => "YY/M")
72
- }
73
- end
74
-
75
- it "should raise ArgumentError" do
76
- @new_proc.should raise_error ArgumentError
77
- end
78
- end
79
-
80
- context "when :format option contains short year with based on 1900" do
81
- before(:each) do
82
- @new_proc = lambda {
83
- DateValidator.new("Birthday",
84
- :format => "M/D/YY", :base_year => 1900,
85
- :from => "1/25/80", :to => Date.new(2011, 1, 1))
86
- }
87
- end
88
-
89
- it "should not raise error" do
90
- @new_proc.should_not raise_error
91
- end
92
-
93
- it "#from should be 1980-01-25" do
94
- @new_proc.call.from.value.should == Date.new(1980, 1, 25)
95
- end
96
-
97
- it "#to should be 2011-01-01" do
98
- @new_proc.call.to.value.should == Date.new(2011, 1, 1)
99
- end
100
- end
101
- end
102
-
103
- context "with target expression and :from option with Date object" do
104
- before(:each) do
105
- @new_proc = lambda {
106
- DateValidator.new("1", :from => Date.new(2011, 1, 1))
107
- }
108
- end
109
-
110
- it "should not raise error" do
111
- @new_proc.should_not raise_error
112
- end
113
-
114
- it "#from should be date object" do
115
- @new_proc.call.from.value.should be_a Date
116
- end
117
- end
118
-
119
- context "with target expression and :from option with String object" do
120
- before(:each) do
121
- @new_proc = lambda {
122
- DateValidator.new("1", :from => "2011-01-01")
123
- }
124
- end
125
-
126
- it "should not raise error" do
127
- @new_proc.should_not raise_error
128
- end
129
-
130
- it "#from should be date object" do
131
- @new_proc.call.from.value.should be_a Date
132
- end
133
-
134
- it "#from should be same date for string expression" do
135
- @new_proc.call.from.value.should == Date.new(2011, 1, 1)
136
- end
137
- end
138
-
139
- context "with target expression and :from option with invalid format date String object" do
140
- before(:each) do
141
- @new_proc = lambda {
142
- DateValidator.new("1", :from => "2011-01-34")
143
- }
144
- end
145
-
146
- it "should raise ArgumentError" do
147
- @new_proc.should raise_error ArgumentError
148
- end
149
- end
150
-
151
- context "with target expression and :to option with Date object" do
152
- before(:each) do
153
- @new_proc = lambda {
154
- DateValidator.new("1", :to => Date.new(2011, 1, 1))
155
- }
156
- end
157
-
158
- it "should not raise error" do
159
- @new_proc.should_not raise_error
160
- end
161
-
162
- it "#to should be date object" do
163
- @new_proc.call.to.value.should be_a Date
164
- end
165
- end
166
-
167
- context "with target expression and :to option with String object" do
168
- before(:each) do
169
- @new_proc = lambda {
170
- DateValidator.new("1", :to => "2011-01-01")
171
- }
172
- end
173
-
174
- it "should not raise error" do
175
- @new_proc.should_not raise_error
176
- end
177
-
178
- it "#to should be date object" do
179
- @new_proc.call.to.value.should be_a Date
180
- end
181
-
182
- it "#to should be same date for string expression" do
183
- @new_proc.call.to.value.should == Date.new(2011, 1, 1)
184
- end
185
- end
186
-
187
- context "with target expression and :to option with invalid format date String object" do
188
- before(:each) do
189
- @new_proc = lambda {
190
- DateValidator.new("1", :to => "2011-01-34")
191
- }
192
- end
193
-
194
- it "should raise ArgumentError" do
195
- @new_proc.should raise_error ArgumentError
196
- end
197
- end
198
- end
199
-
200
- describe DateValidator, "#valid?" do
201
- context "with only target expression" do
202
- before(:each) do
203
- @validator = DateValidator.new("1")
204
- end
205
-
206
- context "invalid date expression" do
207
- before(:each) do
208
- Validator::Base.values = { "1" => "2011-34-42" }
209
- end
210
-
211
- it { @validator.should_not be_valid }
212
- end
213
-
214
- context "valid date expression" do
215
- before(:each) do
216
- Validator::Base.values = { "1" => "2011-04-02" }
217
- end
218
-
219
- it { @validator.should be_valid }
220
- end
221
- end
222
-
223
- context "with target expression and :from option" do
224
- before(:each) do
225
- @validator = DateValidator.new("1", :from => "2011-04-01")
226
- end
227
-
228
- context "invalid date expression" do
229
- before(:each) do
230
- Validator::Base.values = { "1" => "2011-34-42" }
231
- end
232
-
233
- it { @validator.should_not be_valid }
234
- end
235
-
236
- context "invalid date by :from option" do
237
- before(:each) do
238
- Validator::Base.values = { "1" => "2011-03-31" }
239
- end
240
-
241
- it { @validator.should_not be_valid }
242
- end
243
-
244
- context "valid date by :from option" do
245
- before(:each) do
246
- Validator::Base.values = { "1" => "2011-04-01" }
247
- end
248
-
249
- it { @validator.should be_valid }
250
- end
251
- end
252
-
253
- context "with target expression and :to option" do
254
- before(:each) do
255
- @validator = DateValidator.new("1", :to => "2011-04-01")
256
- end
257
-
258
- context "invalid date expression" do
259
- before(:each) do
260
- Validator::Base.values = { "1" => "2011-34-42" }
261
- end
262
-
263
- it { @validator.should_not be_valid }
264
- end
265
-
266
- context "invalid date by :to option" do
267
- before(:each) do
268
- Validator::Base.values = { "1" => "2011-04-02" }
269
- end
270
-
271
- it { @validator.should_not be_valid }
272
- end
273
-
274
- context "valid date by :to option" do
275
- before(:each) do
276
- Validator::Base.values = { "1" => "2011-04-01" }
277
- end
278
-
279
- it { @validator.should be_valid }
280
- end
281
- end
282
-
283
- context "with target expression and :to and :from option" do
284
- before(:each) do
285
- @validator = DateValidator.new("1", :from => "2010-04-01", :to => "2011-03-31")
286
- end
287
-
288
- context "invalid date expression" do
289
- before(:each) do
290
- Validator::Base.values = { "1" => "2011-34-42" }
291
- end
292
-
293
- it { @validator.should_not be_valid }
294
- end
295
-
296
- context "invalid date by :from option" do
297
- before(:each) do
298
- Validator::Base.values = { "1" => "2010-03-31" }
299
- end
300
-
301
- it { @validator.should_not be_valid }
302
- end
303
-
304
- context "invalid date by :to option" do
305
- before(:each) do
306
- Validator::Base.values = { "1" => "2011-04-01" }
307
- end
308
-
309
- it { @validator.should_not be_valid }
310
- end
311
-
312
- context "valid date by :from and :to option" do
313
- before(:each) do
314
- Validator::Base.values = { "1" => "2010-05-31" }
315
- end
316
-
317
- it { @validator.should be_valid }
318
- end
319
- end
320
-
321
- context "with target expression with :allow_blank => true" do
322
- before(:each) do
323
- @validator = DateValidator.new("1", :allow_blank => true)
324
- end
325
-
326
- context "invalid date expression" do
327
- before(:each) do
328
- Validator::Base.values = { "1" => "2011-34-42" }
329
- end
330
-
331
- it { @validator.should_not be_valid }
332
- end
333
-
334
- context "valid date expression" do
335
- before(:each) do
336
- Validator::Base.values = { "1" => "2011-04-02" }
337
- end
338
-
339
- it { @validator.should be_valid }
340
- end
341
-
342
- context "blank value" do
343
- before(:each) do
344
- Validator::Base.values = { "1" => "" }
345
- end
346
-
347
- it { @validator.should be_valid }
348
- end
349
- end
350
- end