mv-mysql 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +269 -24
- data/lib/mv-mysql.rb +8 -14
- data/lib/mv/mysql/validation/builder/trigger/custom.rb +15 -0
- data/lib/mv/mysql/validation/custom.rb +11 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8afb7fce57625da1922d14fd9176e0ca7f3d611d
|
4
|
+
data.tar.gz: 37417cb342588a253ca31141896ed8d782832670
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ea89ba6401bbc0b8e29731304a189d54cc8c0733c42b2bdf518e33840fba71027d0042ed8078dd6cfd694623bed3d335d007206742429d696a24d5d735c8ffd
|
7
|
+
data.tar.gz: 8645bac19886ae85dee7526bb3e7eba8ff647a3fb674dcb17e5e88c04de0a5e4d139256e06bf5542e40d1b041f6390af805c6e765cc1ff4d152c9d227c29a893
|
data/README.md
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/vprokopchuk256/mv-mysql/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
|
2
1
|
[![Build Status](https://travis-ci.org/vprokopchuk256/mv-mysql.svg?branch=master)](https://travis-ci.org/vprokopchuk256/mv-mysql)
|
3
2
|
[![Coverage Status](https://coveralls.io/repos/vprokopchuk256/mv-mysql/badge.png?branch=master)](https://coveralls.io/r/vprokopchuk256/mv-mysql?branch=master)
|
4
3
|
[![Gem Version](https://badge.fury.io/rb/mv-mysql.svg)](http://badge.fury.io/rb/mv-mysql)
|
5
4
|
|
6
5
|
# Introduction
|
7
6
|
|
8
|
-
mv-mysql is the MySQL driver for Migration Validators project (details here: https://github.com/vprokopchuk256/mv-core)
|
7
|
+
mv-mysql is the MySQL driver for Migration Validators project (details here: https://github.com/vprokopchuk256/mv-core). Allows RoR developer to define database constraints in a familiar ActiveRecord validations manner
|
9
8
|
|
10
9
|
# Validators
|
11
10
|
|
@@ -46,6 +45,14 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
46
45
|
end
|
47
46
|
```
|
48
47
|
|
48
|
+
simplifications (version >= 2.1 is required):
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
create_table :table_name do |t|
|
52
|
+
t.string :column_name, uniqueness: true
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
49
56
|
Options:
|
50
57
|
|
51
58
|
* `:message` - text of the error message that will be shown if constraint violated. Ignored unless `:as == :trigger`
|
@@ -83,6 +90,32 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
83
90
|
length: { maximum: 3,
|
84
91
|
too_long: 'Value is longer than 3 symbols' }
|
85
92
|
```
|
93
|
+
|
94
|
+
all above are available in a create and change table blocks:
|
95
|
+
|
96
|
+
```ruby
|
97
|
+
create_table :table_name do |t|
|
98
|
+
t.string :column_name, validates: { length: { is: 3, allow_nil: true} }
|
99
|
+
end
|
100
|
+
```
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
change :table_name do |t|
|
104
|
+
t.change :column_name, :string, validates: { length: { is: 3 } }
|
105
|
+
end
|
106
|
+
```
|
107
|
+
|
108
|
+
simplifications (version >= 2.1 is required):
|
109
|
+
|
110
|
+
```ruby
|
111
|
+
create_table :table_name do |t|
|
112
|
+
t.string :string_3, length: 3
|
113
|
+
t.string :string_from_1_to_3, length: 1..3,
|
114
|
+
t.string :string_1_or_3, length: [1, 3]
|
115
|
+
t.string :string_4, validates: { length: 4 }
|
116
|
+
t.string :string_4_in_trigger: length: { is: 4, as: :trigger }
|
117
|
+
end
|
118
|
+
```
|
86
119
|
|
87
120
|
Options:
|
88
121
|
|
@@ -105,10 +138,12 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
105
138
|
|
106
139
|
Examples:
|
107
140
|
|
141
|
+
Examples:
|
142
|
+
|
108
143
|
valid values array:
|
109
144
|
|
110
145
|
```ruby
|
111
|
-
validates :table_name, :column_name, inclusion: { in: [1, 2, 3]}
|
146
|
+
validates :table_name, :column_name, inclusion: { in: [1, 2, 3] }
|
112
147
|
```
|
113
148
|
|
114
149
|
with failure message specified:
|
@@ -119,6 +154,31 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
119
154
|
message: "Column 'column_name' should be equal to 1 or 2 or 3" }
|
120
155
|
```
|
121
156
|
|
157
|
+
all above are available in a create and change table blocks:
|
158
|
+
|
159
|
+
```ruby
|
160
|
+
create_table :table_name do |t|
|
161
|
+
t.integer :column_name, validates: { inclusion: { in: 1..3 } }
|
162
|
+
end
|
163
|
+
```
|
164
|
+
|
165
|
+
```ruby
|
166
|
+
change :table_name do |t|
|
167
|
+
t.change :column_name, :integer, validates: { inclusion: { in: 1..3 } }
|
168
|
+
end
|
169
|
+
```
|
170
|
+
|
171
|
+
simplifications (version >= 2.1 is required):
|
172
|
+
|
173
|
+
```ruby
|
174
|
+
create_table :table_name do |t|
|
175
|
+
t.string :str_or_str_1, inclusion: ['str', 'str1']
|
176
|
+
t.string :from_str_to_str_1, inclusion: 'str'..'str1'
|
177
|
+
t.string :str_or_str_1_in_trigger, inclusion: { in: ['str', 'str1'],
|
178
|
+
as: :trigger}
|
179
|
+
end
|
180
|
+
```
|
181
|
+
|
122
182
|
Options:
|
123
183
|
|
124
184
|
* `:in range` - or array that column value should be contained in.
|
@@ -141,22 +201,38 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
141
201
|
validates :table_name, :column_name, exclusion: { in: [1, 2, 3] }
|
142
202
|
```
|
143
203
|
|
144
|
-
|
204
|
+
the same with failure message:
|
145
205
|
|
146
206
|
```ruby
|
147
207
|
validates :table_name, :column_name,
|
148
|
-
exclusion: {
|
149
|
-
|
150
|
-
|
151
|
-
|
208
|
+
exclusion: {
|
209
|
+
in: [1, 2, 3],
|
210
|
+
message: "Column 'column_name' should not be equal to 1 or 2 or 3" }
|
211
|
+
```
|
212
|
+
|
213
|
+
all above are available in a create and change table blocks:
|
214
|
+
|
215
|
+
```ruby
|
216
|
+
create_table :table_name do |t|
|
217
|
+
t.integer :column_name, validates: { exclusion: { in: 1..3 } }
|
218
|
+
end
|
152
219
|
```
|
153
220
|
|
154
|
-
|
221
|
+
```ruby
|
222
|
+
change :table_name do |t|
|
223
|
+
t.change :column_name, :integer, validates: { exclusion: { in: 1..3 } }
|
224
|
+
end
|
225
|
+
```
|
226
|
+
|
227
|
+
simplifications (version >= 2.1 is required):
|
155
228
|
|
156
229
|
```ruby
|
157
|
-
|
158
|
-
|
159
|
-
|
230
|
+
create_table :table_name do |t|
|
231
|
+
t.string :neither_str_nor_str_1, exclusion: ['str', 'str1']
|
232
|
+
t.string :from_str_to_str_1, exclusion: 'str'..'str1'
|
233
|
+
t.string :str_or_str_1_in_trigger, exclusion: { in: ['str', 'str1'],
|
234
|
+
as: :trigger}
|
235
|
+
end
|
160
236
|
```
|
161
237
|
|
162
238
|
Options:
|
@@ -172,9 +248,7 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
172
248
|
|
173
249
|
### presence
|
174
250
|
|
175
|
-
Examples:
|
176
|
-
|
177
|
-
simple presence validator:
|
251
|
+
Examples:
|
178
252
|
|
179
253
|
```ruby
|
180
254
|
validates :table_name, :column_name, presence: true
|
@@ -184,22 +258,44 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
184
258
|
|
185
259
|
```ruby
|
186
260
|
validates :table_name, :column_name,
|
187
|
-
|
261
|
+
presence: { message: 'value should not be empty' }
|
188
262
|
```
|
189
263
|
|
190
|
-
|
264
|
+
check when record is inserted only:
|
191
265
|
|
192
266
|
```ruby
|
193
267
|
validates :table_name, :column_name,
|
194
268
|
presence: { message: 'value should not be empty',
|
269
|
+
as: :trigger,
|
195
270
|
on: :create }
|
196
271
|
```
|
197
272
|
|
198
|
-
|
273
|
+
all above are available in a create and change table blocks:
|
199
274
|
|
200
|
-
|
275
|
+
```ruby
|
276
|
+
create_table :table_name do |t|
|
277
|
+
t.string :column_name, validates: { presence: true }
|
278
|
+
end
|
279
|
+
```
|
280
|
+
|
281
|
+
```ruby
|
282
|
+
change :table_name do |t|
|
283
|
+
t.change :column_name, :string, validates: { presence: true }
|
284
|
+
end
|
285
|
+
```
|
286
|
+
|
287
|
+
simplifications (version >= 2.1 is required):
|
288
|
+
|
289
|
+
```ruby
|
290
|
+
create_table :table_name do |t|
|
291
|
+
t.string :presence_in_check, presence: true
|
292
|
+
t.string :presence_in_trigger, presence: { as: :trigger, on: :create }
|
293
|
+
end
|
294
|
+
```
|
295
|
+
|
296
|
+
### absence
|
201
297
|
|
202
|
-
|
298
|
+
Examples:
|
203
299
|
|
204
300
|
```ruby
|
205
301
|
validates :table_name, :column_name, absence: true
|
@@ -209,17 +305,98 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
209
305
|
|
210
306
|
```ruby
|
211
307
|
validates :table_name, :column_name,
|
212
|
-
|
308
|
+
absence: { message: 'value should be empty' }
|
213
309
|
```
|
214
310
|
|
215
|
-
|
311
|
+
check when record is inserted only:
|
216
312
|
|
217
313
|
```ruby
|
218
314
|
validates :table_name, :column_name,
|
219
|
-
|
220
|
-
|
315
|
+
absence: { message: 'value should be empty',
|
316
|
+
as: :trigger,
|
317
|
+
on: :create }
|
221
318
|
```
|
222
319
|
|
320
|
+
all above are available in a create and change table blocks:
|
321
|
+
|
322
|
+
```ruby
|
323
|
+
create_table :table_name do |t|
|
324
|
+
t.string :column_name, validates: { absence: true }
|
325
|
+
end
|
326
|
+
```
|
327
|
+
|
328
|
+
```ruby
|
329
|
+
change :table_name do |t|
|
330
|
+
t.change :column_name, :string, validates: { absence: true }
|
331
|
+
end
|
332
|
+
```
|
333
|
+
|
334
|
+
simplifications (version >= 2.1 is required):
|
335
|
+
|
336
|
+
```ruby
|
337
|
+
create_table :table_name do |t|
|
338
|
+
t.string :absence_in_check, absence: true
|
339
|
+
t.string :absence_in_trigger, absence: { as: :trigger, on: :create }
|
340
|
+
end
|
341
|
+
```
|
342
|
+
|
343
|
+
### custom (version >= 2.1 is required)
|
344
|
+
|
345
|
+
Examples:
|
346
|
+
|
347
|
+
allows only values that equals 'word' when trimmed:
|
348
|
+
|
349
|
+
```ruby
|
350
|
+
validates :table_name, :column_name,
|
351
|
+
custom: { statement: "TRIM({column_name}) = 'word'" }
|
352
|
+
```
|
353
|
+
|
354
|
+
with failure message:
|
355
|
+
|
356
|
+
```ruby
|
357
|
+
validates :table_name, :column_name,
|
358
|
+
custom: { statement: "TRIM({column_name}) = 'word'",
|
359
|
+
message: 'Column_name value should contain start word' }
|
360
|
+
```
|
361
|
+
|
362
|
+
implemented as trigger on insert event:
|
363
|
+
|
364
|
+
```ruby
|
365
|
+
validates :table_name, :column_name,
|
366
|
+
custom: { statement: "TRIM({column_name}) = 'word'",
|
367
|
+
message: 'Column_name value should contain start word',
|
368
|
+
as: :trigger,
|
369
|
+
on: :create }
|
370
|
+
```
|
371
|
+
|
372
|
+
all above are available in a create and change table blocks:
|
373
|
+
|
374
|
+
```ruby
|
375
|
+
create_table :table_name do |t|
|
376
|
+
t.string :column_name,
|
377
|
+
validates: { custom: { statement: "TRIM({column_name}) = 'word'"} }
|
378
|
+
end
|
379
|
+
```
|
380
|
+
|
381
|
+
```ruby
|
382
|
+
change :table_name do |t|
|
383
|
+
t.change :column_name, :string,
|
384
|
+
validates: { custom: { statement: "TRIM({column_name}) = 'word'"} }
|
385
|
+
end
|
386
|
+
```
|
387
|
+
|
388
|
+
simplifications (version >= 2.1 is required):
|
389
|
+
|
390
|
+
```ruby
|
391
|
+
create_table :table_name do |t|
|
392
|
+
t.string :contains_word, custom: "TRIM({contains_word}) = 'word'"
|
393
|
+
t.string :contains_word_synonym,
|
394
|
+
validates: "TRIM({contains_word_synonym}) = 'word'"
|
395
|
+
t.string :contains_word_in_trigger,
|
396
|
+
custom: { statement: "TRIM({contains_word_in_trigger}) = 'word'", as: :trigger }
|
397
|
+
end
|
398
|
+
```
|
399
|
+
|
223
400
|
Options:
|
224
401
|
|
225
402
|
* `:message` - message that should be shown if validation failed
|
@@ -230,6 +407,74 @@ mv-mysql is the MySQL driver for Migration Validators project (details here: htt
|
|
230
407
|
* `:allow_blank` - ignore validation for blank values. Default value: `false`
|
231
408
|
* `:as` - defines the way how constraint will be implemented. Possible values: `[:trigger]`
|
232
409
|
|
410
|
+
### custom (version >= 2.1 is required)
|
411
|
+
|
412
|
+
Examples:
|
413
|
+
|
414
|
+
allows only values that equals 'word' when trimmed:
|
415
|
+
|
416
|
+
```ruby
|
417
|
+
validates :table_name, :column_name,
|
418
|
+
custom: { statement: "TRIM({column_name}) = 'word'" }
|
419
|
+
```
|
420
|
+
|
421
|
+
with failure message:
|
422
|
+
|
423
|
+
```ruby
|
424
|
+
validates :table_name, :column_name,
|
425
|
+
custom: { statement: "TRIM({column_name}) = 'word'",
|
426
|
+
message: 'Column_name value should contain start word' }
|
427
|
+
```
|
428
|
+
|
429
|
+
implemented as trigger on insert event:
|
430
|
+
|
431
|
+
```ruby
|
432
|
+
validates :table_name, :column_name,
|
433
|
+
custom: { statement: "TRIM({column_name}) = 'word'",
|
434
|
+
message: 'Column_name value should contain start word',
|
435
|
+
as: :trigger,
|
436
|
+
on: :create }
|
437
|
+
```
|
438
|
+
|
439
|
+
all above are available in a create and change table blocks:
|
440
|
+
|
441
|
+
```ruby
|
442
|
+
create_table :table_name do |t|
|
443
|
+
t.string :column_name,
|
444
|
+
validates: { custom: { statement: "TRIM({column_name}) = 'word'"} }
|
445
|
+
end
|
446
|
+
```
|
447
|
+
|
448
|
+
```ruby
|
449
|
+
change :table_name do |t|
|
450
|
+
t.change :column_name, :string,
|
451
|
+
validates: { custom: { statement: "TRIM({column_name}) = 'word'"} }
|
452
|
+
end
|
453
|
+
```
|
454
|
+
|
455
|
+
simplifications (version >= 2.1 is required):
|
456
|
+
|
457
|
+
```ruby
|
458
|
+
create_table :table_name do |t|
|
459
|
+
t.string :contains_word, custom: "TRIM({contains_word}) = 'word'"
|
460
|
+
t.string :contains_word_synonym,
|
461
|
+
validates: "TRIM({contains_word_synonym}) = 'word'"
|
462
|
+
t.string :contains_word_in_trigger,
|
463
|
+
custom: { statement: "TRIM({contains_word_in_trigger}) = 'word'", as: :trigger }
|
464
|
+
end
|
465
|
+
```
|
466
|
+
|
467
|
+
Options:
|
468
|
+
|
469
|
+
* `statement` - db expression that column value should be matched to
|
470
|
+
* `message` - message that should be shown if validation failed
|
471
|
+
* `on` - validation event. Possible values `[:save, :update, :create]`. Ignored unless `:as == :trigger`. Default value: `:save`
|
472
|
+
* `create_tigger_name` - Name of the 'before insert' trigger that will be created if `:as == :trigger` && `:on` in `[:save, :create]`
|
473
|
+
* `update_tigger_name` - Name of the 'before update' trigger that will be created if `:as == :trigger` && `:on` in `[:save, :update]`
|
474
|
+
* `allow_nil` - ignore validation for `nil` values. Default value: `false`
|
475
|
+
* `allow_blank` - ignore validation for blank values. Default value: `false`
|
476
|
+
* `as` - defines the way how constraint will be implemented. Possible values: `[:trigger]` Default value: `:trigger`
|
477
|
+
|
233
478
|
## Contributing to mv-mysql
|
234
479
|
|
235
480
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
data/lib/mv-mysql.rb
CHANGED
@@ -9,6 +9,7 @@ require 'mv/mysql/validation/length'
|
|
9
9
|
require 'mv/mysql/validation/presence'
|
10
10
|
require 'mv/mysql/validation/absence'
|
11
11
|
require 'mv/mysql/validation/uniqueness'
|
12
|
+
require 'mv/mysql/validation/custom'
|
12
13
|
|
13
14
|
require 'mv/mysql/validation/builder/trigger/exclusion'
|
14
15
|
require 'mv/mysql/validation/builder/trigger/inclusion'
|
@@ -16,6 +17,7 @@ require 'mv/mysql/validation/builder/trigger/length'
|
|
16
17
|
require 'mv/mysql/validation/builder/trigger/presence'
|
17
18
|
require 'mv/mysql/validation/builder/trigger/absence'
|
18
19
|
require 'mv/mysql/validation/builder/trigger/uniqueness'
|
20
|
+
require 'mv/mysql/validation/builder/trigger/custom'
|
19
21
|
|
20
22
|
ActiveSupport.on_load(:mv_core) do
|
21
23
|
|
@@ -31,27 +33,19 @@ ActiveSupport.on_load(:mv_core) do
|
|
31
33
|
:length => Mv::Mysql::Validation::Length,
|
32
34
|
:presence => Mv::Mysql::Validation::Presence,
|
33
35
|
:absence => Mv::Mysql::Validation::Absence,
|
34
|
-
:uniqueness => Mv::Mysql::Validation::Uniqueness
|
36
|
+
:uniqueness => Mv::Mysql::Validation::Uniqueness,
|
37
|
+
:custom => Mv::Mysql::Validation::Custom
|
35
38
|
)
|
36
39
|
|
37
|
-
#validation builders in trigger
|
40
|
+
# validation builders in trigger
|
38
41
|
Mv::Mysql::Constraint::Builder::Trigger.validation_builders_factory.register_builders(
|
39
|
-
Mv::Mysql::Validation::Exclusion => Mv::Mysql::Validation::Builder::Trigger::Exclusion
|
42
|
+
Mv::Mysql::Validation::Exclusion => Mv::Mysql::Validation::Builder::Trigger::Exclusion,
|
40
43
|
Mv::Mysql::Validation::Inclusion => Mv::Mysql::Validation::Builder::Trigger::Inclusion,
|
41
44
|
Mv::Mysql::Validation::Length => Mv::Mysql::Validation::Builder::Trigger::Length,
|
42
45
|
Mv::Mysql::Validation::Presence => Mv::Mysql::Validation::Builder::Trigger::Presence,
|
43
46
|
Mv::Mysql::Validation::Absence => Mv::Mysql::Validation::Builder::Trigger::Absence,
|
44
|
-
Mv::Mysql::Validation::Uniqueness => Mv::Mysql::Validation::Builder::Trigger::Uniqueness
|
45
|
-
|
46
|
-
|
47
|
-
#validation builders in trigger
|
48
|
-
Mv::Mysql::Constraint::Builder::Trigger.validation_builders_factory.register_builders(
|
49
|
-
Mv::Core::Validation::Exclusion => Mv::Mysql::Validation::Builder::Trigger::Exclusion,
|
50
|
-
Mv::Core::Validation::Inclusion => Mv::Mysql::Validation::Builder::Trigger::Inclusion,
|
51
|
-
Mv::Core::Validation::Length => Mv::Mysql::Validation::Builder::Trigger::Length,
|
52
|
-
Mv::Core::Validation::Presence => Mv::Mysql::Validation::Builder::Trigger::Presence,
|
53
|
-
Mv::Core::Validation::Absence => Mv::Mysql::Validation::Builder::Trigger::Absence,
|
54
|
-
Mv::Core::Validation::Uniqueness => Mv::Mysql::Validation::Builder::Trigger::Uniqueness
|
47
|
+
Mv::Mysql::Validation::Uniqueness => Mv::Mysql::Validation::Builder::Trigger::Uniqueness,
|
48
|
+
Mv::Mysql::Validation::Custom => Mv::Mysql::Validation::Builder::Trigger::Custom
|
55
49
|
)
|
56
50
|
end
|
57
51
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'mv/mysql/validation/builder/trigger/trigger_column'
|
2
|
+
|
3
|
+
module Mv
|
4
|
+
module Mysql
|
5
|
+
module Validation
|
6
|
+
module Builder
|
7
|
+
module Trigger
|
8
|
+
class Custom < Mv::Core::Validation::Builder::Custom
|
9
|
+
include TriggerColumn
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mv-mysql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Valeriy Prokopchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '2.
|
47
|
+
version: '2.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '2.
|
54
|
+
version: '2.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: jeweler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- lib/mv/mysql/railtie.rb
|
139
139
|
- lib/mv/mysql/validation/absence.rb
|
140
140
|
- lib/mv/mysql/validation/builder/trigger/absence.rb
|
141
|
+
- lib/mv/mysql/validation/builder/trigger/custom.rb
|
141
142
|
- lib/mv/mysql/validation/builder/trigger/exclusion.rb
|
142
143
|
- lib/mv/mysql/validation/builder/trigger/inclusion.rb
|
143
144
|
- lib/mv/mysql/validation/builder/trigger/length.rb
|
@@ -145,6 +146,7 @@ files:
|
|
145
146
|
- lib/mv/mysql/validation/builder/trigger/presence.rb
|
146
147
|
- lib/mv/mysql/validation/builder/trigger/trigger_column.rb
|
147
148
|
- lib/mv/mysql/validation/builder/trigger/uniqueness.rb
|
149
|
+
- lib/mv/mysql/validation/custom.rb
|
148
150
|
- lib/mv/mysql/validation/exclusion.rb
|
149
151
|
- lib/mv/mysql/validation/inclusion.rb
|
150
152
|
- lib/mv/mysql/validation/length.rb
|