mv-core 1.0.1 → 2.0.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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +67 -12
  3. data/lib/mv-core.rb +18 -100
  4. data/lib/mv/core/active_record/connection_adapters/abstract_adapter_decorator.rb +51 -0
  5. data/lib/mv/core/active_record/connection_adapters/table_decorator.rb +13 -0
  6. data/lib/mv/core/active_record/connection_adapters/table_definition_decorator.rb +21 -0
  7. data/lib/mv/core/active_record/migration/command_recorder_decorator.rb +13 -0
  8. data/lib/mv/core/active_record/migration_decorator.rb +14 -0
  9. data/lib/mv/core/active_record/schema_decorator.rb +16 -0
  10. data/lib/mv/core/active_record/schema_dumper_decorator.rb +29 -0
  11. data/lib/mv/core/constraint/base.rb +33 -0
  12. data/lib/mv/core/constraint/builder/base.rb +45 -0
  13. data/lib/mv/core/constraint/builder/factory.rb +42 -0
  14. data/lib/mv/core/constraint/builder/index.rb +50 -0
  15. data/lib/mv/core/constraint/builder/trigger.rb +13 -0
  16. data/lib/mv/core/constraint/description.rb +24 -0
  17. data/lib/mv/core/constraint/factory.rb +33 -0
  18. data/lib/mv/core/constraint/index.rb +13 -0
  19. data/lib/mv/core/constraint/trigger.rb +20 -0
  20. data/lib/mv/core/db/helpers/column_validators.rb +57 -0
  21. data/lib/mv/core/db/helpers/table_validators.rb +38 -0
  22. data/lib/mv/core/db/migration_validator.rb +26 -0
  23. data/lib/mv/core/error.rb +25 -0
  24. data/lib/mv/core/migration/base.rb +94 -0
  25. data/lib/mv/core/migration/operations/add_column.rb +27 -0
  26. data/lib/mv/core/migration/operations/change_column.rb +31 -0
  27. data/lib/mv/core/migration/operations/drop_table.rb +21 -0
  28. data/lib/mv/core/migration/operations/factory.rb +20 -0
  29. data/lib/mv/core/migration/operations/list.rb +28 -0
  30. data/lib/mv/core/migration/operations/remove_column.rb +22 -0
  31. data/lib/mv/core/migration/operations/rename_column.rb +26 -0
  32. data/lib/mv/core/migration/operations/rename_table.rb +25 -0
  33. data/lib/mv/core/presenter/constraint/description.rb +26 -0
  34. data/lib/mv/core/presenter/validation/base.rb +73 -0
  35. data/lib/mv/core/railtie.rb +40 -0
  36. data/lib/mv/core/route/base.rb +25 -0
  37. data/lib/mv/core/route/index.rb +17 -0
  38. data/lib/mv/core/route/trigger.rb +22 -0
  39. data/lib/mv/core/router.rb +33 -0
  40. data/lib/mv/core/services/compare_constraint_arrays.rb +50 -0
  41. data/lib/mv/core/services/compare_constraints.rb +31 -0
  42. data/lib/mv/core/services/create_constraints.rb +30 -0
  43. data/lib/mv/core/services/create_migration_validators_table.rb +31 -0
  44. data/lib/mv/core/services/delete_constraints.rb +30 -0
  45. data/lib/mv/core/services/load_constraints.rb +45 -0
  46. data/lib/mv/core/services/say_constraints_diff.rb +66 -0
  47. data/lib/mv/core/services/show_constraints.rb +41 -0
  48. data/lib/mv/core/services/synchronize_constraints.rb +54 -0
  49. data/lib/mv/core/services/uninstall.rb +25 -0
  50. data/lib/mv/core/validation/absence.rb +35 -0
  51. data/lib/mv/core/validation/base.rb +98 -0
  52. data/lib/mv/core/validation/builder/absence.rb +19 -0
  53. data/lib/mv/core/validation/builder/base.rb +58 -0
  54. data/lib/mv/core/validation/builder/exclusion.rb +42 -0
  55. data/lib/mv/core/validation/builder/factory.rb +43 -0
  56. data/lib/mv/core/validation/builder/inclusion.rb +42 -0
  57. data/lib/mv/core/validation/builder/length.rb +68 -0
  58. data/lib/mv/core/validation/builder/presence.rb +19 -0
  59. data/lib/mv/core/validation/builder/uniqueness.rb +19 -0
  60. data/lib/mv/core/validation/exclusion.rb +27 -0
  61. data/lib/mv/core/validation/factory.rb +56 -0
  62. data/lib/mv/core/validation/inclusion.rb +27 -0
  63. data/lib/mv/core/validation/length.rb +59 -0
  64. data/lib/mv/core/validation/presence.rb +25 -0
  65. data/lib/mv/core/validation/uniqueness.rb +45 -0
  66. data/lib/mv/core/validators/array_validator.rb +5 -0
  67. data/lib/mv/core/validators/integers_array_validator.rb +12 -0
  68. data/lib/mv/core/validators/valid_validator.rb +9 -0
  69. metadata +158 -30
  70. data/lib/migration_validators/active_record/base.rb +0 -29
  71. data/lib/migration_validators/active_record/connection_adapters/abstract_adapter.rb +0 -38
  72. data/lib/migration_validators/active_record/connection_adapters/native_adapter.rb +0 -129
  73. data/lib/migration_validators/active_record/connection_adapters/table.rb +0 -17
  74. data/lib/migration_validators/active_record/connection_adapters/table_definition.rb +0 -33
  75. data/lib/migration_validators/active_record/migration.rb +0 -25
  76. data/lib/migration_validators/active_record/schema.rb +0 -32
  77. data/lib/migration_validators/active_record/schema_dumper.rb +0 -25
  78. data/lib/migration_validators/adapters/base.rb +0 -15
  79. data/lib/migration_validators/adapters/containers.rb +0 -100
  80. data/lib/migration_validators/adapters/routing.rb +0 -102
  81. data/lib/migration_validators/adapters/syntax.rb +0 -51
  82. data/lib/migration_validators/adapters/validator_definitions.rb +0 -132
  83. data/lib/migration_validators/core/adapter_wrapper.rb +0 -88
  84. data/lib/migration_validators/core/db_validator.rb +0 -131
  85. data/lib/migration_validators/core/statement_builder.rb +0 -61
  86. data/lib/migration_validators/core/validator_constraints_list.rb +0 -32
  87. data/lib/migration_validators/core/validator_container.rb +0 -110
  88. data/lib/migration_validators/core/validator_definition.rb +0 -91
  89. data/lib/migration_validators/core/validator_router.rb +0 -45
  90. data/lib/options.rb +0 -7
@@ -0,0 +1,56 @@
1
+ require 'mv/core/validation/uniqueness'
2
+ require 'mv/core/validation/exclusion'
3
+ require 'mv/core/validation/inclusion'
4
+ require 'mv/core/validation/length'
5
+ require 'mv/core/validation/presence'
6
+ require 'mv/core/validation/absence'
7
+ require 'mv/core/error'
8
+
9
+ module Mv
10
+ module Core
11
+ module Validation
12
+ class Factory
13
+ include Singleton
14
+
15
+ def create_validation table_name, column_name, validation_type, opts
16
+ validation_class = factroy_map[validation_type.to_sym]
17
+
18
+ raise Mv::Core::Error.new(table_name: table_name,
19
+ column_name: column_name,
20
+ validation_type: validation_type,
21
+ opts: opts,
22
+ error: "Validation '#{validation_type}' is not supported") unless validation_class
23
+
24
+ validation_class.new(table_name, column_name, opts)
25
+ end
26
+
27
+ def register_validation validation_type, klass
28
+ factroy_map[validation_type.to_sym] = klass
29
+ end
30
+
31
+ def register_validations opts
32
+ opts.each do |validation_type, klass|
33
+ register_validation(validation_type, klass)
34
+ end
35
+ end
36
+
37
+ class << self
38
+ delegate :create_validation, :register_validation, :register_validations, to: :instance
39
+ end
40
+
41
+ private
42
+
43
+ def factroy_map
44
+ @factory_map ||= {
45
+ uniqueness: Mv::Core::Validation::Uniqueness,
46
+ exclusion: Mv::Core::Validation::Exclusion,
47
+ inclusion: Mv::Core::Validation::Inclusion,
48
+ length: Mv::Core::Validation::Length,
49
+ presence: Mv::Core::Validation::Presence,
50
+ absence: Mv::Core::Validation::Absence
51
+ }
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,27 @@
1
+ require 'mv/core/validation/base'
2
+ require 'mv/core/validators/array_validator'
3
+
4
+ module Mv
5
+ module Core
6
+ module Validation
7
+ class Inclusion < Base
8
+ include ActiveModel::Validations
9
+
10
+ attr_reader :in
11
+
12
+ validates :in, presence: true, array: true
13
+
14
+ def initialize(table_name, column_name, opts)
15
+ super(table_name, column_name, opts)
16
+
17
+ @in = opts.with_indifferent_access[:in]
18
+ end
19
+
20
+ def to_a
21
+ prepared_in = self.in.is_a?(Range) ? [self.in.min, self.in.max] : self.in.try(:sort)
22
+ super + [prepared_in]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,59 @@
1
+ require 'mv/core/validation/base'
2
+ require 'mv/core/validators/integers_array_validator'
3
+
4
+ module Mv
5
+ module Core
6
+ module Validation
7
+ class Length < Base
8
+ include ActiveModel::Validations
9
+
10
+ attr_reader :in, :within, :is, :maximum, :minimum,
11
+ :too_long, :too_short
12
+
13
+ validates :in, :within, presence: true, allow_nil: true, integers_array: true
14
+ validates :is, :minimum, :maximum, numericality: { only_integer: true, greater_than_or_equal_to: 0 }, allow_nil: true
15
+
16
+ validate :in_within_is_maximum_minimum_allowance
17
+
18
+ def initialize(table_name, column_name, opts)
19
+ super(table_name, column_name, opts)
20
+
21
+ opts.with_indifferent_access.tap do |opts|
22
+ @in = opts[:in]
23
+ @within = opts[:within]
24
+ @is = opts[:is]
25
+ @maximum = opts[:maximum]
26
+ @minimum = opts[:minimum]
27
+ @too_long = opts[:too_long]
28
+ @too_short = opts[:too_short]
29
+ end
30
+ end
31
+
32
+ def to_a
33
+ super + [self.in.try(:sort), within.try(:sort), is.to_s, maximum.to_s, minimum.to_s, too_short.to_s, too_long.to_s]
34
+ end
35
+
36
+ private
37
+
38
+ def in_within_is_maximum_minimum_allowance
39
+ not_null_attrs = [[is, :is],
40
+ [within, :within],
41
+ [self.in, :in],
42
+ [maximum || minimum, :minimum_or_maximum]]
43
+ .select(&:first).collect(&:second)
44
+
45
+ if not_null_attrs.length != 1
46
+ not_null_attrs << :is if not_null_attrs.blank?
47
+
48
+ not_null_attrs.each do |attr|
49
+ errors.add(
50
+ attr,
51
+ 'One and only one attribute from the list [:is, :within, :in, [:minimum, :maximum] can be defined'
52
+ )
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,25 @@
1
+ require 'mv/core/validation/base'
2
+
3
+ module Mv
4
+ module Core
5
+ module Validation
6
+ class Presence < Base
7
+ include ActiveModel::Validations
8
+
9
+ validate :nil_and_blank_can_not_be_both_allowed
10
+
11
+ def initialize(table_name, column_name, opts)
12
+ super(table_name, column_name, opts)
13
+ end
14
+
15
+ private
16
+
17
+ def nil_and_blank_can_not_be_both_allowed
18
+ if allow_blank && allow_nil
19
+ errors.add(:allow_blank, 'can not be allowed when nil is allowed')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,45 @@
1
+ require 'mv/core/validation/base'
2
+
3
+ module Mv
4
+ module Core
5
+ module Validation
6
+ class Uniqueness < Base
7
+ include ActiveModel::Validations
8
+
9
+ attr_reader :index_name
10
+
11
+ validates :index_name, absence: { message: 'allowed when :as == :index' }, unless: :index?
12
+
13
+ def initialize(table_name, column_name, opts)
14
+ super(table_name, column_name, opts)
15
+
16
+ @index_name = opts.with_indifferent_access[:index_name] || default_index_name
17
+ end
18
+
19
+ def to_a
20
+ super + [index_name.to_s]
21
+ end
22
+
23
+ protected
24
+
25
+ def available_as
26
+ super + [:index]
27
+ end
28
+
29
+ def default_as
30
+ :index
31
+ end
32
+
33
+ def default_index_name
34
+ "idx_mv_#{table_name}_#{column_name}_uniq" if index?
35
+ end
36
+
37
+ private
38
+
39
+ def index?
40
+ as.to_sym == :index
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,5 @@
1
+ class ArrayValidator < ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ record.errors.add(:attribute, 'must support conversion to Array (respond to :to_a method)') unless value.respond_to?(:to_a)
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class IntegersArrayValidator < ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ if value.respond_to?(:to_a)
4
+ record.errors.add(:attribute,
5
+ 'must contain positive integers only') unless value.to_a.all?{|v| v.kind_of?(Integer) && v >=0 }
6
+
7
+ else
8
+ record.errors.add(:attribute,
9
+ 'must support conversion to Array (respond to :to_a method)') unless value.respond_to?(:to_a)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ class ValidValidator < ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ if value.invalid?
4
+ value.errors.full_messages.each do |message|
5
+ record.errors.add(:validation, message)
6
+ end
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mv-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.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: 2014-11-07 00:00:00.000000000 Z
11
+ date: 2015-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activerecord
14
+ name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ~>
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: i18n
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '0.7'
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: '0'
54
+ version: '0.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jeweler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,90 @@ dependencies:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '4.5'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '4.5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '3.1'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '3.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec-its
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '1.1'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: '1.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: shoulda
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: '3.5'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '3.5'
139
+ - !ruby/object:Gem::Dependency
140
+ name: factory_girl
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: '4.5'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '4.5'
153
+ - !ruby/object:Gem::Dependency
154
+ name: coveralls
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '0.7'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: '0.7'
83
167
  description: Migration Validators project. Core classes
84
168
  email: vprokopchuk@gmail.com
85
169
  executables: []
@@ -90,28 +174,72 @@ extra_rdoc_files:
90
174
  files:
91
175
  - LICENSE.txt
92
176
  - README.md
93
- - lib/migration_validators/active_record/base.rb
94
- - lib/migration_validators/active_record/connection_adapters/abstract_adapter.rb
95
- - lib/migration_validators/active_record/connection_adapters/native_adapter.rb
96
- - lib/migration_validators/active_record/connection_adapters/table.rb
97
- - lib/migration_validators/active_record/connection_adapters/table_definition.rb
98
- - lib/migration_validators/active_record/migration.rb
99
- - lib/migration_validators/active_record/schema.rb
100
- - lib/migration_validators/active_record/schema_dumper.rb
101
- - lib/migration_validators/adapters/base.rb
102
- - lib/migration_validators/adapters/containers.rb
103
- - lib/migration_validators/adapters/routing.rb
104
- - lib/migration_validators/adapters/syntax.rb
105
- - lib/migration_validators/adapters/validator_definitions.rb
106
- - lib/migration_validators/core/adapter_wrapper.rb
107
- - lib/migration_validators/core/db_validator.rb
108
- - lib/migration_validators/core/statement_builder.rb
109
- - lib/migration_validators/core/validator_constraints_list.rb
110
- - lib/migration_validators/core/validator_container.rb
111
- - lib/migration_validators/core/validator_definition.rb
112
- - lib/migration_validators/core/validator_router.rb
113
177
  - lib/mv-core.rb
114
- - lib/options.rb
178
+ - lib/mv/core/active_record/connection_adapters/abstract_adapter_decorator.rb
179
+ - lib/mv/core/active_record/connection_adapters/table_decorator.rb
180
+ - lib/mv/core/active_record/connection_adapters/table_definition_decorator.rb
181
+ - lib/mv/core/active_record/migration/command_recorder_decorator.rb
182
+ - lib/mv/core/active_record/migration_decorator.rb
183
+ - lib/mv/core/active_record/schema_decorator.rb
184
+ - lib/mv/core/active_record/schema_dumper_decorator.rb
185
+ - lib/mv/core/constraint/base.rb
186
+ - lib/mv/core/constraint/builder/base.rb
187
+ - lib/mv/core/constraint/builder/factory.rb
188
+ - lib/mv/core/constraint/builder/index.rb
189
+ - lib/mv/core/constraint/builder/trigger.rb
190
+ - lib/mv/core/constraint/description.rb
191
+ - lib/mv/core/constraint/factory.rb
192
+ - lib/mv/core/constraint/index.rb
193
+ - lib/mv/core/constraint/trigger.rb
194
+ - lib/mv/core/db/helpers/column_validators.rb
195
+ - lib/mv/core/db/helpers/table_validators.rb
196
+ - lib/mv/core/db/migration_validator.rb
197
+ - lib/mv/core/error.rb
198
+ - lib/mv/core/migration/base.rb
199
+ - lib/mv/core/migration/operations/add_column.rb
200
+ - lib/mv/core/migration/operations/change_column.rb
201
+ - lib/mv/core/migration/operations/drop_table.rb
202
+ - lib/mv/core/migration/operations/factory.rb
203
+ - lib/mv/core/migration/operations/list.rb
204
+ - lib/mv/core/migration/operations/remove_column.rb
205
+ - lib/mv/core/migration/operations/rename_column.rb
206
+ - lib/mv/core/migration/operations/rename_table.rb
207
+ - lib/mv/core/presenter/constraint/description.rb
208
+ - lib/mv/core/presenter/validation/base.rb
209
+ - lib/mv/core/railtie.rb
210
+ - lib/mv/core/route/base.rb
211
+ - lib/mv/core/route/index.rb
212
+ - lib/mv/core/route/trigger.rb
213
+ - lib/mv/core/router.rb
214
+ - lib/mv/core/services/compare_constraint_arrays.rb
215
+ - lib/mv/core/services/compare_constraints.rb
216
+ - lib/mv/core/services/create_constraints.rb
217
+ - lib/mv/core/services/create_migration_validators_table.rb
218
+ - lib/mv/core/services/delete_constraints.rb
219
+ - lib/mv/core/services/load_constraints.rb
220
+ - lib/mv/core/services/say_constraints_diff.rb
221
+ - lib/mv/core/services/show_constraints.rb
222
+ - lib/mv/core/services/synchronize_constraints.rb
223
+ - lib/mv/core/services/uninstall.rb
224
+ - lib/mv/core/validation/absence.rb
225
+ - lib/mv/core/validation/base.rb
226
+ - lib/mv/core/validation/builder/absence.rb
227
+ - lib/mv/core/validation/builder/base.rb
228
+ - lib/mv/core/validation/builder/exclusion.rb
229
+ - lib/mv/core/validation/builder/factory.rb
230
+ - lib/mv/core/validation/builder/inclusion.rb
231
+ - lib/mv/core/validation/builder/length.rb
232
+ - lib/mv/core/validation/builder/presence.rb
233
+ - lib/mv/core/validation/builder/uniqueness.rb
234
+ - lib/mv/core/validation/exclusion.rb
235
+ - lib/mv/core/validation/factory.rb
236
+ - lib/mv/core/validation/inclusion.rb
237
+ - lib/mv/core/validation/length.rb
238
+ - lib/mv/core/validation/presence.rb
239
+ - lib/mv/core/validation/uniqueness.rb
240
+ - lib/mv/core/validators/array_validator.rb
241
+ - lib/mv/core/validators/integers_array_validator.rb
242
+ - lib/mv/core/validators/valid_validator.rb
115
243
  homepage: http://github.com/vprokopchuk256/mv-core
116
244
  licenses:
117
245
  - MIT
@@ -132,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
260
  version: '0'
133
261
  requirements: []
134
262
  rubyforge_project:
135
- rubygems_version: 2.4.2
263
+ rubygems_version: 2.4.4
136
264
  signing_key:
137
265
  specification_version: 4
138
266
  summary: Migration Validators project core classes