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.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/colonization/colonizer.rb +3 -3
  3. data/lib/colonization/ship.rb +8 -7
  4. data/lib/colonization/validators/active_model/absence_validator.rb +17 -0
  5. data/lib/colonization/validators/active_model/acceptance_validator.rb +17 -0
  6. data/lib/colonization/validators/active_model/confirmation_validator.rb +3 -12
  7. data/lib/colonization/validators/active_model/exclusion_validator.rb +3 -12
  8. data/lib/colonization/validators/active_model/format_validator.rb +6 -11
  9. data/lib/colonization/validators/active_model/inclusion_validator.rb +5 -10
  10. data/lib/colonization/validators/active_model/length_validator.rb +6 -11
  11. data/lib/colonization/validators/active_model/numericality_validator.rb +6 -11
  12. data/lib/colonization/validators/active_model/presence_validator.rb +3 -12
  13. data/lib/colonization/validators/active_model/with_validator.rb +3 -12
  14. data/lib/colonization/validators/active_record/associated_validator.rb +3 -12
  15. data/lib/colonization/validators/active_record/presence_validator.rb +3 -12
  16. data/lib/colonization/validators/active_record/uniqueness_validator.rb +3 -12
  17. data/lib/colonization/validators/carrier_wave/download_validator.rb +3 -12
  18. data/lib/colonization/validators/carrier_wave/integrity_validator.rb +3 -12
  19. data/lib/colonization/validators/carrier_wave/processing_validator.rb +3 -12
  20. data/lib/colonization/validators/factory.rb +23 -18
  21. data/lib/colonization/values_generator.rb +122 -35
  22. data/lib/colonization/version.rb +1 -1
  23. metadata +4 -6
  24. data/lib/colonization/absence_validator.rb +0 -2
  25. data/lib/colonization/acceptance_validator.rb +0 -2
  26. data/lib/colonization/factory.rb +0 -15
  27. 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: 02d8e24b9f9e6eeb4e775c143eaa014089f816dd
4
- data.tar.gz: 1476b843011250a4ff53766bdc976d10a5c6d535
3
+ metadata.gz: 9351d53d58975968b6a9c7c4625246502821fe12
4
+ data.tar.gz: b46d5083fc72a7980e15c62777cb0c41ccf1add3
5
5
  SHA512:
6
- metadata.gz: e8ca96dcfd967a99b112d448e64e310efbc6a673dfad29588776b55b1d973be1ce816cd53b14e105535f6ab634509111ceae57f828e4d51b2c9ee70fd339bf6c
7
- data.tar.gz: b3e1069366dd7e1378f6346ca70955859b5a7fff07167175222a5ce8744fb7f0520e1620c8dbd6f7d0e059b7bd463bc8b433f1fbd9f381ee3ddc61db5442284f
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 = 20
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: :fixed }
112
+ { type: :default }
113
113
  end
114
114
 
115
115
  def clear_table?
@@ -1,8 +1,10 @@
1
1
  require 'colonization/investigator'
2
- require 'colonization/factory'
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
- @colonizers.each do |item|
21
+ colonizers.each do |item|
20
22
  item.clear_table
21
23
  end
22
24
  end
23
25
 
24
26
  def populate
25
- @colonizers.each do |item|
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
- colonizers = []
38
- colonizer_factory = Colonization::Factory.new
39
+ result = []
39
40
  colonize_list.each do |item|
40
- colonizers << colonizer_factory.produce(item)
41
+ result << Colonization::Colonizer.new(item)
41
42
  end
42
- colonizers
43
+ result
43
44
  end
44
45
 
45
46
  end
@@ -0,0 +1,17 @@
1
+ module Colonization::Validators::ActiveModel
2
+ class AbsenceValidator
3
+
4
+ def initialize(validator)
5
+ @validator = validator
6
+ end
7
+
8
+ def options
9
+ @validator.options
10
+ end
11
+
12
+ def type
13
+ :absence
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Colonization::Validators::ActiveModel
2
+ class AcceptanceValidator
3
+
4
+ def initialize(validator)
5
+ @validator = validator
6
+ end
7
+
8
+ def options
9
+ @validator.options
10
+ end
11
+
12
+ def type
13
+ :acceptance
14
+ end
15
+
16
+ end
17
+ end
@@ -1,26 +1,17 @@
1
1
  module Colonization::Validators::ActiveModel
2
2
  class ConfirmationValidator
3
3
 
4
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = validator.options[:in] || validator.options[:within]
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = validator.options[:with]
8
+ def options
9
+ @validator.options
13
10
  end
14
11
 
15
- private
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = validator.options[:in] || validator.options[:within]
8
+ def options
9
+ @validator.options
13
10
  end
14
11
 
15
- private
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = validator.options.slice(:minimum, :maximum, :in, :within, :is)
8
+ def options
9
+ @validator.options
13
10
  end
14
11
 
15
- private
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = validator.options[:only_integer] ? :only_integer : :all_numbers
8
+ def options
9
+ @validator.options
13
10
  end
14
11
 
15
- private
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true #TODO
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true #TODO
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
- attr_reader :validator
5
-
6
- def initialize(validator, config)
4
+ def initialize(validator)
7
5
  @validator = validator
8
- @config = config
9
6
  end
10
7
 
11
- def add_restriction
12
- config[type] = true #TODO
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, validations_config)
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, validations_config)
28
+ Colonization::Validators::ActiveModel::PresenceValidator.new(validator)
24
29
  when ::ActiveModel::Validations::InclusionValidator.to_s
25
- Colonization::Validators::ActiveModel::InclusionValidator.new(validator, validations_config)
30
+ Colonization::Validators::ActiveModel::InclusionValidator.new(validator)
26
31
  when ::ActiveModel::Validations::WithValidator.to_s
27
- Colonization::Validators::ActiveModel::WithValidator.new(validator, validations_config)
32
+ Colonization::Validators::ActiveModel::WithValidator.new(validator)
28
33
  when ::ActiveModel::Validations::NumericalityValidator.to_s
29
- Colonization::Validators::ActiveModel::NumericalityValidator.new(validator, validations_config)
34
+ Colonization::Validators::ActiveModel::NumericalityValidator.new(validator)
30
35
  when ::ActiveModel::Validations::LengthValidator.to_s
31
- Colonization::Validators::ActiveModel::LengthValidator.new(validator, validations_config)
36
+ Colonization::Validators::ActiveModel::LengthValidator.new(validator)
32
37
  when ::ActiveModel::Validations::FormatValidator.to_s
33
- Colonization::Validators::ActiveModel::FormatValidator.new(validator, validations_config)
38
+ Colonization::Validators::ActiveModel::FormatValidator.new(validator)
34
39
  when ::ActiveModel::Validations::ExclusionValidator.to_s
35
- Colonization::Validators::ActiveModel::ExclusionValidator.new(validator, validations_config)
40
+ Colonization::Validators::ActiveModel::ExclusionValidator.new(validator)
36
41
  when ::ActiveModel::Validations::ConfirmationValidator.to_s
37
- Colonization::Validators::ActiveModel::ConfirmationValidator.new(validator, validations_config)
42
+ Colonization::Validators::ActiveModel::ConfirmationValidator.new(validator)
38
43
  when ::ActiveModel::Validations::AcceptanceValidator.to_s
39
- Colonization::Validators::ActiveModel::AcceptanceValidator.new(validator, validations_config)
44
+ Colonization::Validators::ActiveModel::AcceptanceValidator.new(validator)
40
45
  when ::ActiveModel::Validations::AbsenceValidator.to_s
41
- Colonization::Validators::ActiveModel::AbsenceValidator.new(validator, validations_config)
46
+ Colonization::Validators::ActiveModel::AbsenceValidator.new(validator)
42
47
  when ::ActiveRecord::Validations::UniquenessValidator.to_s
43
- Colonization::Validators::ActiveRecord::UniquenessValidator.new(validator, validations_config)
48
+ Colonization::Validators::ActiveRecord::UniquenessValidator.new(validator)
44
49
  when ::ActiveRecord::Validations::AssociatedValidator.to_s
45
- Colonization::Validators::ActiveRecord::AssociatedValidator.new(validator, validations_config)
50
+ Colonization::Validators::ActiveRecord::AssociatedValidator.new(validator)
46
51
  when ::ActiveRecord::Validations::PresenceValidator.to_s
47
- Colonization::Validators::ActiveRecord::PresenceValidator.new(validator, validations_config)
52
+ Colonization::Validators::ActiveRecord::PresenceValidator.new(validator)
48
53
  when ::CarrierWave::Validations::ActiveModel::IntegrityValidator.to_s
49
- Colonization::Validators::CarrierWave::IntegrityValidator.new(validator, validations_config)
54
+ Colonization::Validators::CarrierWave::IntegrityValidator.new(validator)
50
55
  when ::CarrierWave::Validations::ActiveModel::ProcessingValidator.to_s
51
- Colonization::Validators::CarrierWave::ProcessingValidator.new(validator, validations_config)
56
+ Colonization::Validators::CarrierWave::ProcessingValidator.new(validator)
52
57
  when ::CarrierWave::Validations::ActiveModel::DownloadValidator.to_s
53
- Colonization::Validators::CarrierWave::DownloadValidator.new(validator, validations_config)
58
+ Colonization::Validators::CarrierWave::DownloadValidator.new(validator)
54
59
  else
55
- Colonization::Validators::NullObject.new(validator, validations_config)
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
- init_config(type)
9
- set_validations(custom_validators(validators))
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
- Faker::Number.between(1, 2)
23
+ integer_case
46
24
  when :float
47
- Faker::Number.decimal(2, 3)
25
+ float_case
48
26
  when :string
49
- Faker::Lorem.word
27
+ string_case
50
28
  when :text
51
- Faker::Lorem.sentence
29
+ text_case
52
30
  when :date
53
- Faker::Time.between(300.days.ago, 300.days.since, :day)
31
+ date_case
54
32
  when :datetime
55
- Faker::Time.between(300.days.ago, 300.days.since, :day)
33
+ datetime_case
56
34
  when :boolean
57
- [true, false].sample
35
+ boolean_case
58
36
  when :time
59
- Faker::Time.between(300.days.ago, 300.days.since, :day)
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
@@ -1,3 +1,3 @@
1
1
  module Colonization
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
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.1
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-24 00:00:00.000000000 Z
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
@@ -1,2 +0,0 @@
1
- class Colonization::Validators::ActiveModel::AbsenceValidator < ActiveModel::Validations::AbsenceValidator
2
- end
@@ -1,2 +0,0 @@
1
- class Colonization::Validators::ActiveModel::AcceptanceValidator < ActiveModel::Validations::AcceptanceValidator
2
- end
@@ -1,15 +0,0 @@
1
- require 'colonization/colonizer'
2
-
3
- class Colonization::Factory
4
-
5
- def produce(model)
6
- colonizer_class.new(model)
7
- end
8
-
9
- private
10
-
11
- def colonizer_class
12
- Colonization::Colonizer
13
- end
14
-
15
- end
@@ -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