colonization 0.2.1 → 0.2.2
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.
- checksums.yaml +4 -4
- data/lib/colonization/colonizer.rb +3 -3
- data/lib/colonization/ship.rb +8 -7
- data/lib/colonization/validators/active_model/absence_validator.rb +17 -0
- data/lib/colonization/validators/active_model/acceptance_validator.rb +17 -0
- data/lib/colonization/validators/active_model/confirmation_validator.rb +3 -12
- data/lib/colonization/validators/active_model/exclusion_validator.rb +3 -12
- data/lib/colonization/validators/active_model/format_validator.rb +6 -11
- data/lib/colonization/validators/active_model/inclusion_validator.rb +5 -10
- data/lib/colonization/validators/active_model/length_validator.rb +6 -11
- data/lib/colonization/validators/active_model/numericality_validator.rb +6 -11
- data/lib/colonization/validators/active_model/presence_validator.rb +3 -12
- data/lib/colonization/validators/active_model/with_validator.rb +3 -12
- data/lib/colonization/validators/active_record/associated_validator.rb +3 -12
- data/lib/colonization/validators/active_record/presence_validator.rb +3 -12
- data/lib/colonization/validators/active_record/uniqueness_validator.rb +3 -12
- data/lib/colonization/validators/carrier_wave/download_validator.rb +3 -12
- data/lib/colonization/validators/carrier_wave/integrity_validator.rb +3 -12
- data/lib/colonization/validators/carrier_wave/processing_validator.rb +3 -12
- data/lib/colonization/validators/factory.rb +23 -18
- data/lib/colonization/values_generator.rb +122 -35
- data/lib/colonization/version.rb +1 -1
- metadata +4 -6
- data/lib/colonization/absence_validator.rb +0 -2
- data/lib/colonization/acceptance_validator.rb +0 -2
- data/lib/colonization/factory.rb +0 -15
- data/lib/colonization/reg_exp_values_generator.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9351d53d58975968b6a9c7c4625246502821fe12
|
4
|
+
data.tar.gz: b46d5083fc72a7980e15c62777cb0c41ccf1add3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47660950a66d668feb8c4a04041b97a08c10196abb6f4528319edd1dd6c35e7058fb66b073ddc00f3c77f95d614ad22bedcf93c2b857c1a90e20c75f82c3ac49
|
7
|
+
data.tar.gz: 967cb6e497fb73b2606cf9b7dbab994f82b2180aa1ef25e978e121918250cf935233af514474df4b8003992f537f65adc9e1d1af0fa3c1ee893392be1ea4d103
|
@@ -4,7 +4,7 @@ require 'pry'
|
|
4
4
|
|
5
5
|
class Colonization::Colonizer
|
6
6
|
|
7
|
-
DEFAULT_MODEL_INSTANCES_NUMBER =
|
7
|
+
DEFAULT_MODEL_INSTANCES_NUMBER = 2
|
8
8
|
|
9
9
|
def initialize(model)
|
10
10
|
@model = model
|
@@ -22,7 +22,7 @@ class Colonization::Colonizer
|
|
22
22
|
res = []
|
23
23
|
|
24
24
|
(times || model_instances_number).times do
|
25
|
-
res << model.create(params_with_values)
|
25
|
+
res << model.create!(params_with_values)
|
26
26
|
end
|
27
27
|
|
28
28
|
res
|
@@ -109,7 +109,7 @@ class Colonization::Colonizer
|
|
109
109
|
|
110
110
|
def strategy(field = nil)
|
111
111
|
#TODO config[model][field]
|
112
|
-
{ type: :
|
112
|
+
{ type: :default }
|
113
113
|
end
|
114
114
|
|
115
115
|
def clear_table?
|
data/lib/colonization/ship.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require 'colonization/investigator'
|
2
|
-
require 'colonization/
|
2
|
+
require 'colonization/colonizer'
|
3
3
|
|
4
4
|
class Colonization::Ship
|
5
5
|
|
6
|
+
attr_reader :colonizers
|
7
|
+
|
6
8
|
def initialize
|
7
9
|
models = investigate_database
|
8
10
|
@colonizers = get_colonizers(models)
|
@@ -16,13 +18,13 @@ class Colonization::Ship
|
|
16
18
|
private
|
17
19
|
|
18
20
|
def clear_db
|
19
|
-
|
21
|
+
colonizers.each do |item|
|
20
22
|
item.clear_table
|
21
23
|
end
|
22
24
|
end
|
23
25
|
|
24
26
|
def populate
|
25
|
-
|
27
|
+
colonizers.each do |item|
|
26
28
|
item.print_action
|
27
29
|
item.colonize
|
28
30
|
end
|
@@ -34,12 +36,11 @@ class Colonization::Ship
|
|
34
36
|
end
|
35
37
|
|
36
38
|
def get_colonizers(colonize_list)
|
37
|
-
|
38
|
-
colonizer_factory = Colonization::Factory.new
|
39
|
+
result = []
|
39
40
|
colonize_list.each do |item|
|
40
|
-
|
41
|
+
result << Colonization::Colonizer.new(item)
|
41
42
|
end
|
42
|
-
|
43
|
+
result
|
43
44
|
end
|
44
45
|
|
45
46
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class ConfirmationValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:confirmation
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class ExclusionValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:exclusion
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,21 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class FormatValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
|
12
|
+
def value
|
13
|
+
#validator.options[:with]
|
14
|
+
end
|
16
15
|
|
17
16
|
def type
|
18
17
|
:format
|
19
18
|
end
|
20
19
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
20
|
end
|
26
21
|
end
|
@@ -1,21 +1,16 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class InclusionValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
def config
|
18
|
-
@config
|
12
|
+
def value
|
13
|
+
#validator.options[:in] || validator.options[:within]
|
19
14
|
end
|
20
15
|
|
21
16
|
def type
|
@@ -1,26 +1,21 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class LengthValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
|
12
|
+
def value
|
13
|
+
#validator.options.slice(:minimum, :maximum, :in, :within, :is)
|
14
|
+
end
|
16
15
|
|
17
16
|
def type
|
18
17
|
:length
|
19
18
|
end
|
20
19
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
20
|
end
|
26
21
|
end
|
@@ -1,26 +1,21 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class NumericalityValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
|
12
|
+
def value
|
13
|
+
#validator.options[:only_integer] ? :only_integer : :all_numbers
|
14
|
+
end
|
16
15
|
|
17
16
|
def type
|
18
17
|
:numericality
|
19
18
|
end
|
20
19
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
20
|
end
|
26
21
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class PresenceValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:presence
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveModel
|
2
2
|
class WithValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:with
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveRecord
|
2
2
|
class AssociatedValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:associated
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveRecord
|
2
2
|
class PresenceValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:presence
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::ActiveRecord
|
2
2
|
class UniquenessValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:uniqueness
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::CarrierWave
|
2
2
|
class DownloadValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:download
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::CarrierWave
|
2
2
|
class IntegrityValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:integrity
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Colonization::Validators::CarrierWave
|
2
2
|
class ProcessingValidator
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(validator, config)
|
4
|
+
def initialize(validator)
|
7
5
|
@validator = validator
|
8
|
-
@config = config
|
9
6
|
end
|
10
7
|
|
11
|
-
def
|
12
|
-
|
8
|
+
def options
|
9
|
+
@validator.options
|
13
10
|
end
|
14
11
|
|
15
|
-
private
|
16
|
-
|
17
12
|
def type
|
18
13
|
:processing
|
19
14
|
end
|
20
15
|
|
21
|
-
def config
|
22
|
-
@config
|
23
|
-
end
|
24
|
-
|
25
16
|
end
|
26
17
|
end
|
@@ -8,51 +8,56 @@ module Colonization::Validators
|
|
8
8
|
require 'colonization/validators/active_model/numericality_validator'
|
9
9
|
require 'colonization/validators/active_model/presence_validator'
|
10
10
|
require 'colonization/validators/active_model/with_validator'
|
11
|
+
require 'colonization/validators/active_model/acceptance_validator'
|
12
|
+
require 'colonization/validators/active_model/absence_validator'
|
13
|
+
|
11
14
|
require 'colonization/validators/active_record/associated_validator'
|
12
15
|
require 'colonization/validators/active_record/presence_validator'
|
13
16
|
require 'colonization/validators/active_record/uniqueness_validator'
|
17
|
+
|
14
18
|
require 'colonization/validators/carrier_wave/integrity_validator'
|
15
19
|
require 'colonization/validators/carrier_wave/processing_validator'
|
16
20
|
require 'colonization/validators/carrier_wave/download_validator'
|
21
|
+
|
17
22
|
require 'colonization/validators/null_object'
|
18
23
|
|
19
24
|
class Factory
|
20
|
-
def produce(validator
|
25
|
+
def produce(validator)
|
21
26
|
case validator.class.to_s
|
22
27
|
when ::ActiveModel::Validations::PresenceValidator.to_s
|
23
|
-
Colonization::Validators::ActiveModel::PresenceValidator.new(validator
|
28
|
+
Colonization::Validators::ActiveModel::PresenceValidator.new(validator)
|
24
29
|
when ::ActiveModel::Validations::InclusionValidator.to_s
|
25
|
-
Colonization::Validators::ActiveModel::InclusionValidator.new(validator
|
30
|
+
Colonization::Validators::ActiveModel::InclusionValidator.new(validator)
|
26
31
|
when ::ActiveModel::Validations::WithValidator.to_s
|
27
|
-
Colonization::Validators::ActiveModel::WithValidator.new(validator
|
32
|
+
Colonization::Validators::ActiveModel::WithValidator.new(validator)
|
28
33
|
when ::ActiveModel::Validations::NumericalityValidator.to_s
|
29
|
-
Colonization::Validators::ActiveModel::NumericalityValidator.new(validator
|
34
|
+
Colonization::Validators::ActiveModel::NumericalityValidator.new(validator)
|
30
35
|
when ::ActiveModel::Validations::LengthValidator.to_s
|
31
|
-
Colonization::Validators::ActiveModel::LengthValidator.new(validator
|
36
|
+
Colonization::Validators::ActiveModel::LengthValidator.new(validator)
|
32
37
|
when ::ActiveModel::Validations::FormatValidator.to_s
|
33
|
-
Colonization::Validators::ActiveModel::FormatValidator.new(validator
|
38
|
+
Colonization::Validators::ActiveModel::FormatValidator.new(validator)
|
34
39
|
when ::ActiveModel::Validations::ExclusionValidator.to_s
|
35
|
-
Colonization::Validators::ActiveModel::ExclusionValidator.new(validator
|
40
|
+
Colonization::Validators::ActiveModel::ExclusionValidator.new(validator)
|
36
41
|
when ::ActiveModel::Validations::ConfirmationValidator.to_s
|
37
|
-
Colonization::Validators::ActiveModel::ConfirmationValidator.new(validator
|
42
|
+
Colonization::Validators::ActiveModel::ConfirmationValidator.new(validator)
|
38
43
|
when ::ActiveModel::Validations::AcceptanceValidator.to_s
|
39
|
-
Colonization::Validators::ActiveModel::AcceptanceValidator.new(validator
|
44
|
+
Colonization::Validators::ActiveModel::AcceptanceValidator.new(validator)
|
40
45
|
when ::ActiveModel::Validations::AbsenceValidator.to_s
|
41
|
-
Colonization::Validators::ActiveModel::AbsenceValidator.new(validator
|
46
|
+
Colonization::Validators::ActiveModel::AbsenceValidator.new(validator)
|
42
47
|
when ::ActiveRecord::Validations::UniquenessValidator.to_s
|
43
|
-
Colonization::Validators::ActiveRecord::UniquenessValidator.new(validator
|
48
|
+
Colonization::Validators::ActiveRecord::UniquenessValidator.new(validator)
|
44
49
|
when ::ActiveRecord::Validations::AssociatedValidator.to_s
|
45
|
-
Colonization::Validators::ActiveRecord::AssociatedValidator.new(validator
|
50
|
+
Colonization::Validators::ActiveRecord::AssociatedValidator.new(validator)
|
46
51
|
when ::ActiveRecord::Validations::PresenceValidator.to_s
|
47
|
-
Colonization::Validators::ActiveRecord::PresenceValidator.new(validator
|
52
|
+
Colonization::Validators::ActiveRecord::PresenceValidator.new(validator)
|
48
53
|
when ::CarrierWave::Validations::ActiveModel::IntegrityValidator.to_s
|
49
|
-
Colonization::Validators::CarrierWave::IntegrityValidator.new(validator
|
54
|
+
Colonization::Validators::CarrierWave::IntegrityValidator.new(validator)
|
50
55
|
when ::CarrierWave::Validations::ActiveModel::ProcessingValidator.to_s
|
51
|
-
Colonization::Validators::CarrierWave::ProcessingValidator.new(validator
|
56
|
+
Colonization::Validators::CarrierWave::ProcessingValidator.new(validator)
|
52
57
|
when ::CarrierWave::Validations::ActiveModel::DownloadValidator.to_s
|
53
|
-
Colonization::Validators::CarrierWave::DownloadValidator.new(validator
|
58
|
+
Colonization::Validators::CarrierWave::DownloadValidator.new(validator)
|
54
59
|
else
|
55
|
-
Colonization::Validators::NullObject.new(validator
|
60
|
+
Colonization::Validators::NullObject.new(validator)
|
56
61
|
#when ActiveRecord::Validations::AbsenceValidator #TODO ????
|
57
62
|
#when ActiveRecord::Validations::LengthValidator #TODO ????
|
58
63
|
end
|
@@ -1,65 +1,152 @@
|
|
1
1
|
require 'colonization/validators/factory'
|
2
|
-
require 'colonization/reg_exp_values_generator'
|
3
2
|
require 'faker'
|
4
3
|
|
5
4
|
class Colonization::ValuesGenerator
|
6
5
|
|
6
|
+
attr_reader :validators, :validators_objects
|
7
|
+
|
7
8
|
def initialize(type, validators, strategy)
|
8
|
-
|
9
|
-
|
9
|
+
@config = { validations: {}, type: type }
|
10
|
+
@validators = validators
|
11
|
+
set_custom_validators_objects
|
10
12
|
end
|
11
13
|
|
12
14
|
def call
|
13
|
-
#@config[:validations].empty? ? generate_faker_value : generate_custom_value
|
14
15
|
generate_faker_value
|
15
16
|
end
|
16
17
|
|
17
18
|
private
|
18
19
|
|
19
|
-
def init_config(type)
|
20
|
-
@config = { validations: {}, type: type }
|
21
|
-
end
|
22
|
-
|
23
|
-
def custom_validators(validators)
|
24
|
-
res = []
|
25
|
-
factory = Colonization::Validators::Factory.new
|
26
|
-
validators.each do |validator|
|
27
|
-
res << factory.produce(validator, @config[:validations])
|
28
|
-
end
|
29
|
-
res
|
30
|
-
end
|
31
|
-
|
32
|
-
def set_validations(validators)
|
33
|
-
validators.each do |validator|
|
34
|
-
validator.add_restriction
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def generate_custom_value
|
39
|
-
Colonization::RegExpValuesGenerator.generate(@config)
|
40
|
-
end
|
41
|
-
|
42
20
|
def generate_faker_value
|
43
21
|
case @config[:type]
|
44
22
|
when :integer
|
45
|
-
|
23
|
+
integer_case
|
46
24
|
when :float
|
47
|
-
|
25
|
+
float_case
|
48
26
|
when :string
|
49
|
-
|
27
|
+
string_case
|
50
28
|
when :text
|
51
|
-
|
29
|
+
text_case
|
52
30
|
when :date
|
53
|
-
|
31
|
+
date_case
|
54
32
|
when :datetime
|
55
|
-
|
33
|
+
datetime_case
|
56
34
|
when :boolean
|
57
|
-
|
35
|
+
boolean_case
|
58
36
|
when :time
|
59
|
-
|
37
|
+
time_case
|
60
38
|
else
|
61
39
|
raise @config[:type].inspect
|
62
40
|
end
|
63
41
|
end
|
64
42
|
|
43
|
+
def set_custom_validators_objects
|
44
|
+
@validators_objects = []
|
45
|
+
factory = Colonization::Validators::Factory.new
|
46
|
+
validators.each do |validator|
|
47
|
+
@validators_objects << factory.produce(validator)
|
48
|
+
end
|
49
|
+
@validators_objects
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
def integer_case
|
54
|
+
return Faker::Number.between(1, 2) unless validators_objects.present?
|
55
|
+
validators_objects.each do |validator|
|
56
|
+
case validator.type
|
57
|
+
when :acceptance
|
58
|
+
raise DisaparateValidatorError
|
59
|
+
when :presence
|
60
|
+
return Faker::Number.between(1, 2)
|
61
|
+
else
|
62
|
+
raise validator.inspect
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def float_case
|
68
|
+
return Faker::Number.decimal(2, 3) unless validators_objects.present?
|
69
|
+
validators_objects.each do |validator|
|
70
|
+
case validator.type
|
71
|
+
when :acceptance
|
72
|
+
raise DisaparateValidatorError
|
73
|
+
else
|
74
|
+
raise validator.inspect
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def string_case
|
80
|
+
return Faker::Lorem.word unless validators_objects.present?
|
81
|
+
validators_objects.each do |validator|
|
82
|
+
case validator.type
|
83
|
+
when :acceptance
|
84
|
+
return validator.options[:accept].sample if validator.options[:accept].present?
|
85
|
+
return "1"
|
86
|
+
else
|
87
|
+
raise validator.inspect
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def text_case
|
93
|
+
return Faker::Lorem.sentence unless validators_objects.present?
|
94
|
+
validators_objects.each do |validator|
|
95
|
+
case validator.type
|
96
|
+
when :acceptance
|
97
|
+
raise DisaparateValidatorError
|
98
|
+
else
|
99
|
+
raise validator.inspect
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def date_case
|
105
|
+
return Faker::Time.between(300.days.ago, 300.days.since, :day) unless validators_objects.present?
|
106
|
+
validators_objects.each do |validator|
|
107
|
+
case validator.type
|
108
|
+
when :acceptance
|
109
|
+
raise DisaparateValidatorError
|
110
|
+
else
|
111
|
+
raise validator.inspect
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def datetime_case
|
117
|
+
return Faker::Time.between(300.days.ago, 300.days.since, :day) unless validators_objects.present?
|
118
|
+
validators_objects.each do |validator|
|
119
|
+
case validator.type
|
120
|
+
when :acceptance
|
121
|
+
raise DisaparateValidatorError
|
122
|
+
else
|
123
|
+
raise validator.inspect
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def boolean_case
|
129
|
+
return [false, true].sample unless validators_objects.present?
|
130
|
+
validators_objects.each do |validator|
|
131
|
+
case validator.type
|
132
|
+
when :acceptance
|
133
|
+
return true
|
134
|
+
else
|
135
|
+
raise validator.inspect
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
def time_case
|
141
|
+
return Faker::Time.between(300.days.ago, 300.days.since, :day) unless validators_objects.present?
|
142
|
+
validators_objects.each do |validator|
|
143
|
+
case validator.type
|
144
|
+
when :acceptance
|
145
|
+
raise DisaparateValidatorError
|
146
|
+
else
|
147
|
+
raise validator.inspect
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
65
152
|
end
|
data/lib/colonization/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colonization
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denys Dvoriashyn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -81,17 +81,15 @@ files:
|
|
81
81
|
- bin/setup
|
82
82
|
- colonization.gemspec
|
83
83
|
- lib/colonization.rb
|
84
|
-
- lib/colonization/absence_validator.rb
|
85
|
-
- lib/colonization/acceptance_validator.rb
|
86
84
|
- lib/colonization/colonizer.rb
|
87
|
-
- lib/colonization/factory.rb
|
88
85
|
- lib/colonization/investigator.rb
|
89
86
|
- lib/colonization/model_entity.rb
|
90
87
|
- lib/colonization/model_field.rb
|
91
88
|
- lib/colonization/model_instaces_repository.rb
|
92
89
|
- lib/colonization/model_relation.rb
|
93
|
-
- lib/colonization/reg_exp_values_generator.rb
|
94
90
|
- lib/colonization/ship.rb
|
91
|
+
- lib/colonization/validators/active_model/absence_validator.rb
|
92
|
+
- lib/colonization/validators/active_model/acceptance_validator.rb
|
95
93
|
- lib/colonization/validators/active_model/confirmation_validator.rb
|
96
94
|
- lib/colonization/validators/active_model/exclusion_validator.rb
|
97
95
|
- lib/colonization/validators/active_model/format_validator.rb
|
data/lib/colonization/factory.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
class Colonization::RegExpValuesGenerator
|
2
|
-
|
3
|
-
def generate(config)
|
4
|
-
@config = config
|
5
|
-
@current_reg_exp = default_reg_exp
|
6
|
-
numericality_mutate
|
7
|
-
//
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def numericality_mutate
|
13
|
-
case config[:numericality]
|
14
|
-
when :only_integer
|
15
|
-
str = @current_reg_exp.source
|
16
|
-
index = str.index('^')
|
17
|
-
str.insert(index,'[1-9]{1,1}\d*')
|
18
|
-
@current_reg_exp = RegExp.new(str)
|
19
|
-
when :all_numbers
|
20
|
-
str = @current_reg_exp.source
|
21
|
-
index = str.index('^')
|
22
|
-
str.insert(index,'[1-9]{1,1}\d*(\.\d+)')
|
23
|
-
@current_reg_exp = RegExp.new(str)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def default_reg_exp
|
28
|
-
/^$/
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|