activevalidation 0.1.0 → 1.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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +32 -9
  3. data/.overcommit.yml +93 -0
  4. data/.rspec +1 -1
  5. data/.rubocop.yml +80 -0
  6. data/.rubocop_todo.yml +7 -0
  7. data/.travis.yml +42 -2
  8. data/.yardops +9 -0
  9. data/Appraisals +27 -0
  10. data/Gemfile +24 -1
  11. data/MIT-LICENSE +20 -0
  12. data/README.md +142 -20
  13. data/Rakefile +21 -3
  14. data/activevalidation.gemspec +35 -25
  15. data/bin/console +4 -7
  16. data/gemfiles/am_5.0.gemfile +17 -0
  17. data/gemfiles/am_5.0.gemfile.lock +159 -0
  18. data/gemfiles/am_5.1.gemfile +17 -0
  19. data/gemfiles/am_5.1.gemfile.lock +159 -0
  20. data/gemfiles/am_5.2.gemfile +17 -0
  21. data/gemfiles/am_5.2.gemfile.lock +159 -0
  22. data/gemfiles/am_6.0.gemfile +18 -0
  23. data/gemfiles/am_6.0.gemfile.lock +158 -0
  24. data/lib/active_validation.rb +27 -0
  25. data/lib/active_validation/base_adapter.rb +103 -0
  26. data/lib/active_validation/configuration.rb +52 -0
  27. data/lib/active_validation/decorator.rb +27 -0
  28. data/lib/active_validation/decorators/consistent_registry.rb +36 -0
  29. data/lib/active_validation/decorators/disallows_duplicates_registry.rb +17 -0
  30. data/lib/active_validation/errors.rb +28 -0
  31. data/lib/active_validation/ext/add_active_validation_context_check.rb +21 -0
  32. data/lib/active_validation/formatters/manifest_name_formatter.rb +13 -0
  33. data/lib/active_validation/formatters/validation_context_formatter.rb +28 -0
  34. data/lib/active_validation/frameworks/rspec.rb +10 -0
  35. data/lib/active_validation/frameworks/rspec/helpers.rb +15 -0
  36. data/lib/active_validation/internal/models/check.rb +51 -0
  37. data/lib/active_validation/internal/models/concerns/to_internal.rb +27 -0
  38. data/lib/active_validation/internal/models/manifest.rb +122 -0
  39. data/lib/active_validation/internal/models/manifest/installer.rb +86 -0
  40. data/lib/active_validation/internal/observers/manifest.rb +114 -0
  41. data/lib/active_validation/model_extension_base.rb +33 -0
  42. data/lib/active_validation/orm_plugins/active_record_plugin/adapter.rb +59 -0
  43. data/lib/active_validation/orm_plugins/active_record_plugin/internals/active_validation/internal_model_extensions/check.rb +11 -0
  44. data/lib/active_validation/orm_plugins/active_record_plugin/model_extension/active_validation/active_record_model_extension.rb +25 -0
  45. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check.rb +31 -0
  46. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/concerns/method_must_be_allowed.rb +38 -0
  47. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validate_method.rb +9 -0
  48. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_method.rb +9 -0
  49. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_with_method.rb +19 -0
  50. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/concerns/protect_from_mutable_instance_methods.rb +31 -0
  51. data/lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/manifest.rb +21 -0
  52. data/lib/active_validation/orm_plugins/active_record_plugin/types/active_validation/type/version.rb +17 -0
  53. data/lib/active_validation/registry.rb +55 -0
  54. data/lib/active_validation/values/base.rb +39 -0
  55. data/lib/active_validation/values/method_name.rb +22 -0
  56. data/lib/active_validation/values/version.rb +17 -0
  57. data/lib/active_validation/verifier.rb +150 -0
  58. data/lib/active_validation/version.rb +5 -0
  59. data/spec/active_validation/base_adapter_spec.rb +23 -0
  60. data/spec/active_validation/configuration_spec.rb +52 -0
  61. data/spec/active_validation/decorators/consistent_registry_spec.rb +117 -0
  62. data/spec/active_validation/decorators/disallows_duplicates_registry_spec.rb +21 -0
  63. data/spec/active_validation/formatters/manifest_name_formatter_spec.rb +7 -0
  64. data/spec/active_validation/formatters/validation_context_formatter_spec.rb +39 -0
  65. data/spec/active_validation/internal/models/check_spec.rb +67 -0
  66. data/spec/active_validation/internal/models/manifest/installer_spec.rb +177 -0
  67. data/spec/active_validation/internal/models/manifest_spec.rb +136 -0
  68. data/spec/active_validation/internal/observers/manifest_spec.rb +201 -0
  69. data/spec/active_validation/model_extension_base_spec.rb +71 -0
  70. data/spec/active_validation/orm_plugins/active_record_plugin/adapter_spec.rb +31 -0
  71. data/spec/active_validation/orm_plugins/active_record_plugin/adapter_spec_orm_specific_spec.rb +84 -0
  72. data/spec/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validate_method_spec.rb +26 -0
  73. data/spec/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_method_spec.rb +26 -0
  74. data/spec/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_with_method_spec.rb +34 -0
  75. data/spec/active_validation/orm_plugins/active_record_plugin/models/active_validation/check_spec.rb +48 -0
  76. data/spec/active_validation/orm_plugins/active_record_plugin/models/active_validation/manifest_spec.rb +61 -0
  77. data/spec/active_validation/orm_plugins/active_record_plugin/readme_spec.rb +89 -0
  78. data/spec/active_validation/registry_spec.rb +76 -0
  79. data/spec/active_validation/values/base_spec.rb +61 -0
  80. data/spec/active_validation/values/method_name_spec.rb +16 -0
  81. data/spec/active_validation/values/version_spec.rb +36 -0
  82. data/spec/active_validation/verifier_spec.rb +214 -0
  83. data/spec/active_validation_spec.rb +19 -0
  84. data/spec/factories/internal/internal_check.rb +43 -0
  85. data/spec/features/active_record/child_record.feature +32 -0
  86. data/spec/features/active_record/new_record.feature +22 -0
  87. data/spec/features/no_orm/install.feature +19 -0
  88. data/spec/features/no_orm/validate.feature +27 -0
  89. data/spec/features/no_orm/validate_with_multiple_manifests.feature +29 -0
  90. data/spec/features/no_orm/validate_with_multiple_versions.feature +42 -0
  91. data/spec/features/placeholders/be_matcher.rb +7 -0
  92. data/spec/features/placeholders/klass.rb +5 -0
  93. data/spec/features/placeholders/version.rb +11 -0
  94. data/spec/features/placeholders/whether_to.rb +11 -0
  95. data/spec/features/step_definitions/active_record_steps.rb +7 -0
  96. data/spec/features/step_definitions/steps.rb +85 -0
  97. data/spec/orm/active_record/db_adapters/database.mysql.yml +12 -0
  98. data/spec/orm/active_record/db_adapters/database.postgres.yml +11 -0
  99. data/spec/orm/active_record/db_adapters/database.sqlite.yml +8 -0
  100. data/spec/orm/active_record/factories/check/check_validate.rb +8 -0
  101. data/spec/orm/active_record/factories/check/check_validates.rb +8 -0
  102. data/spec/orm/active_record/factories/check/check_validates_with.rb +19 -0
  103. data/spec/orm/active_record/factories/manifest.rb +29 -0
  104. data/spec/orm/active_record/prepare_db.rb +89 -0
  105. data/spec/orm/active_record/setup.rb +11 -0
  106. data/spec/orm/mongoid/setup.rb +15 -0
  107. data/spec/spec_helper.rb +38 -0
  108. data/spec/support/database_cleaner.rb +16 -0
  109. data/spec/support/deferred_garbage_collection.rb +31 -0
  110. data/spec/support/define_constant_macros.rb +17 -0
  111. data/spec/support/factory_bot.rb +12 -0
  112. data/spec/support/helpers.rb +3 -0
  113. data/spec/support/helpers/only_with_active_record.rb +15 -0
  114. data/spec/support/matchers/delegate.rb +50 -0
  115. data/spec/support/matchers/have_attr.rb +58 -0
  116. data/spec/support/mongoid.yml +6 -0
  117. data/spec/support/shared_examples/check_attributes.rb +9 -0
  118. data/spec/support/shared_examples/verifiers_registry.rb +10 -0
  119. data/spec/support/simplecov.rb +11 -0
  120. data/spec/turnip_helper.rb +4 -0
  121. metadata +304 -20
  122. data/lib/activevalidation.rb +0 -6
  123. data/lib/activevalidation/version.rb +0 -3
data/Rakefile CHANGED
@@ -1,6 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
4
 
4
- RSpec::Core::RakeTask.new(:spec)
5
+ task gem: :build
6
+ task :build do
7
+ system "gem build active_validation.gemspec"
8
+ end
9
+
10
+ task release: :build do
11
+ system "git tag -a v#{ActiveValidation::VERSION} -m 'Tagging #{ActiveValidation::VERSION}'"
12
+ system "git push --tags"
13
+ system "gem push active_validation-#{ActiveValidation::VERSION}.gem"
14
+ system "rm active_validation-#{ActiveValidation::VERSION}.gem"
15
+ end
16
+
17
+ require "rspec/core/rake_task"
18
+ desc "Run tests on ActiveValidation with RSpec"
19
+ task(:spec).clear
20
+ RSpec::Core::RakeTask.new(:spec) do |t|
21
+ t.verbose = false # hide list of specs bit.ly/1nVq3Jn
22
+ end
5
23
 
6
- task :default => :spec
24
+ task default: %i[spec]
@@ -1,32 +1,42 @@
1
- lib = File.expand_path("lib", __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "activevalidation/version"
1
+ # frozen_string_literal: true
4
2
 
5
- Gem::Specification.new do |spec|
6
- spec.name = "activevalidation"
7
- spec.version = Activevalidation::VERSION
8
- spec.authors = ["kvokka"]
9
- spec.email = ["kvokka@yahoo.com"]
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
10
4
 
11
- spec.summary = %q{Book the name for further development}
12
- spec.description = %q{Book the name for further development}
13
- spec.homepage = "https://github.com/kvokka/activevalidation"
14
- spec.license = "MIT"
5
+ # Maintain your gem's version:
6
+ require "active_validation/version"
15
7
 
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = "https://github.com/kvokka/activevalidation"
18
- spec.metadata["changelog_uri"] = "https://github.com/kvokka/activevalidation"
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |spec|
10
+ spec.name = "activevalidation"
11
+ spec.version = ActiveValidation::VERSION
12
+ spec.platform = Gem::Platform::RUBY
13
+ spec.authors = ["kvokka"]
14
+ spec.email = ["kvokka@yahoo.com"]
15
+ spec.homepage = "https://github.com/kvokka/activevalidation"
16
+ spec.summary = "Allow to store ActiveModel validations in ORM."
17
+ spec.description = "Allow to store ActiveModel validations in ORM."
18
+ spec.licenses = ["MIT"]
19
19
 
20
- # Specify which files should be added to the gem when it is released.
21
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- end
25
- spec.bindir = "exe"
26
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.files = `git ls-files`.split("\n")
21
+ spec.test_files = `git ls-files -- test/*`.split("\n")
27
22
  spec.require_paths = ["lib"]
28
23
 
29
- spec.add_development_dependency "bundler", "~> 2.0"
30
- spec.add_development_dependency "rake", "~> 10.0"
31
- spec.add_development_dependency "rspec", "~> 3.0"
24
+ # Minor version requirement adopted from zeitwerk gem
25
+ spec.required_ruby_version = ">= 2.4.4"
26
+
27
+ spec.add_dependency("activemodel", ">= 5.0.0", "< 6.1")
28
+ spec.add_dependency("activesupport", ">= 5.0.0", "< 6.1")
29
+ spec.add_dependency("concurrent-ruby", ">= 1.0.0", "< 2.0")
30
+ spec.add_dependency("zeitwerk", "~> 2.1.9")
31
+
32
+ spec.add_development_dependency "activerecord", ">= 4.2.0", "< 6.1"
33
+ spec.add_development_dependency "bundler", "~> 1.17"
34
+ spec.add_development_dependency "database_cleaner", "~> 1.7.0"
35
+ spec.add_development_dependency "factory_bot", "~> 5.0.0"
36
+ spec.add_development_dependency "mysql2", "~> 0.5.2"
37
+ spec.add_development_dependency "pg", "~> 1.0.0"
38
+ spec.add_development_dependency "rspec", "~> 3.8"
39
+ spec.add_development_dependency "simplecov", "~> 0.17"
40
+ spec.add_development_dependency "sqlite3", ">= 1.3.13"
41
+ spec.add_development_dependency "turnip", "~> 4.0.0"
32
42
  end
@@ -1,14 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
- require "activevalidation"
5
+ require "active_validation"
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
8
9
 
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
10
+ require "pry"
11
+ Pry.start
@@ -0,0 +1,17 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 5.0.0"
6
+
7
+ group :local_development do
8
+ gem "appraisal", "~> 2.2.0"
9
+ gem "overcommit", "~> 0.48.0"
10
+ gem "pry", "~> 0.12.0"
11
+ gem "pry-byebug", "~> 3.7.0"
12
+ gem "reek", "~> 5.4.0"
13
+ gem "rubocop", "~> 0.72.0"
14
+ gem "rubocop-rspec", "~> 1.32"
15
+ end
16
+
17
+ gemspec path: "../"
@@ -0,0 +1,159 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ activevalidation (0.1.0)
5
+ activemodel (>= 5.0.0, < 6.1)
6
+ activesupport (>= 5.0.0, < 6.1)
7
+ concurrent-ruby (>= 1.0.0, < 2.0)
8
+ zeitwerk (~> 2.1.9)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (5.0.7.2)
14
+ activesupport (= 5.0.7.2)
15
+ activerecord (5.0.7.2)
16
+ activemodel (= 5.0.7.2)
17
+ activesupport (= 5.0.7.2)
18
+ arel (~> 7.0)
19
+ activesupport (5.0.7.2)
20
+ concurrent-ruby (~> 1.0, >= 1.0.2)
21
+ i18n (>= 0.7, < 2)
22
+ minitest (~> 5.1)
23
+ tzinfo (~> 1.1)
24
+ appraisal (2.2.0)
25
+ bundler
26
+ rake
27
+ thor (>= 0.14.0)
28
+ arel (7.1.4)
29
+ ast (2.4.0)
30
+ axiom-types (0.1.1)
31
+ descendants_tracker (~> 0.0.4)
32
+ ice_nine (~> 0.11.0)
33
+ thread_safe (~> 0.3, >= 0.3.1)
34
+ byebug (11.0.1)
35
+ c21e (1.1.9)
36
+ childprocess (0.9.0)
37
+ ffi (~> 1.0, >= 1.0.11)
38
+ codeclimate-engine-rb (0.4.1)
39
+ virtus (~> 1.0)
40
+ coderay (1.1.2)
41
+ coercible (1.0.0)
42
+ descendants_tracker (~> 0.0.1)
43
+ concurrent-ruby (1.1.5)
44
+ cucumber-messages (2.1.2)
45
+ google-protobuf (>= 3.2, <= 3.7)
46
+ database_cleaner (1.7.0)
47
+ descendants_tracker (0.0.4)
48
+ thread_safe (~> 0.3, >= 0.3.1)
49
+ diff-lcs (1.3)
50
+ docile (1.3.2)
51
+ equalizer (0.0.11)
52
+ factory_bot (5.0.2)
53
+ activesupport (>= 4.2.0)
54
+ ffi (1.11.1)
55
+ gherkin (6.0.17)
56
+ c21e (~> 1.1.9)
57
+ cucumber-messages (~> 2.1.2)
58
+ google-protobuf (3.7.0-universal-darwin)
59
+ i18n (1.6.0)
60
+ concurrent-ruby (~> 1.0)
61
+ ice_nine (0.11.2)
62
+ iniparse (1.4.4)
63
+ jaro_winkler (1.5.3)
64
+ json (2.2.0)
65
+ kwalify (0.7.2)
66
+ method_source (0.9.2)
67
+ minitest (5.12.2)
68
+ mysql2 (0.5.2)
69
+ overcommit (0.48.1)
70
+ childprocess (~> 0.6, >= 0.6.3)
71
+ iniparse (~> 1.4)
72
+ parallel (1.17.0)
73
+ parser (2.6.4.1)
74
+ ast (~> 2.4.0)
75
+ pg (1.0.0)
76
+ pry (0.12.2)
77
+ coderay (~> 1.1.0)
78
+ method_source (~> 0.9.0)
79
+ pry-byebug (3.7.0)
80
+ byebug (~> 11.0)
81
+ pry (~> 0.10)
82
+ psych (3.1.0)
83
+ rainbow (3.0.0)
84
+ rake (13.0.0)
85
+ reek (5.4.0)
86
+ codeclimate-engine-rb (~> 0.4.0)
87
+ kwalify (~> 0.7.0)
88
+ parser (>= 2.5.0.0, < 2.7, != 2.5.1.1)
89
+ psych (~> 3.1.0)
90
+ rainbow (>= 2.0, < 4.0)
91
+ rspec (3.8.0)
92
+ rspec-core (~> 3.8.0)
93
+ rspec-expectations (~> 3.8.0)
94
+ rspec-mocks (~> 3.8.0)
95
+ rspec-core (3.8.2)
96
+ rspec-support (~> 3.8.0)
97
+ rspec-expectations (3.8.4)
98
+ diff-lcs (>= 1.2.0, < 2.0)
99
+ rspec-support (~> 3.8.0)
100
+ rspec-mocks (3.8.1)
101
+ diff-lcs (>= 1.2.0, < 2.0)
102
+ rspec-support (~> 3.8.0)
103
+ rspec-support (3.8.2)
104
+ rubocop (0.72.0)
105
+ jaro_winkler (~> 1.5.1)
106
+ parallel (~> 1.10)
107
+ parser (>= 2.6)
108
+ rainbow (>= 2.2.2, < 4.0)
109
+ ruby-progressbar (~> 1.7)
110
+ unicode-display_width (>= 1.4.0, < 1.7)
111
+ rubocop-rspec (1.36.0)
112
+ rubocop (>= 0.68.1)
113
+ ruby-progressbar (1.10.1)
114
+ simplecov (0.17.1)
115
+ docile (~> 1.1)
116
+ json (>= 1.8, < 3)
117
+ simplecov-html (~> 0.10.0)
118
+ simplecov-html (0.10.2)
119
+ sqlite3 (1.3.13)
120
+ thor (0.20.3)
121
+ thread_safe (0.3.6)
122
+ turnip (4.0.1)
123
+ gherkin (~> 6.0.17)
124
+ rspec (>= 3.0, < 4.0)
125
+ tzinfo (1.2.5)
126
+ thread_safe (~> 0.1)
127
+ unicode-display_width (1.6.0)
128
+ virtus (1.0.5)
129
+ axiom-types (~> 0.1)
130
+ coercible (~> 1.0)
131
+ descendants_tracker (~> 0.0, >= 0.0.3)
132
+ equalizer (~> 0.0, >= 0.0.9)
133
+ zeitwerk (2.1.10)
134
+
135
+ PLATFORMS
136
+ ruby
137
+
138
+ DEPENDENCIES
139
+ activerecord (~> 5.0.0)
140
+ activevalidation!
141
+ appraisal (~> 2.2.0)
142
+ bundler (~> 1.17)
143
+ database_cleaner (~> 1.7.0)
144
+ factory_bot (~> 5.0.0)
145
+ mysql2 (~> 0.5.2)
146
+ overcommit (~> 0.48.0)
147
+ pg (~> 1.0.0)
148
+ pry (~> 0.12.0)
149
+ pry-byebug (~> 3.7.0)
150
+ reek (~> 5.4.0)
151
+ rspec (~> 3.8)
152
+ rubocop (~> 0.72.0)
153
+ rubocop-rspec (~> 1.32)
154
+ simplecov (~> 0.16)
155
+ sqlite3 (>= 1.3.13)
156
+ turnip (~> 4.0.0)
157
+
158
+ BUNDLED WITH
159
+ 1.17.3
@@ -0,0 +1,17 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 5.1.0"
6
+
7
+ group :local_development do
8
+ gem "appraisal", "~> 2.2.0"
9
+ gem "overcommit", "~> 0.48.0"
10
+ gem "pry", "~> 0.12.0"
11
+ gem "pry-byebug", "~> 3.7.0"
12
+ gem "reek", "~> 5.4.0"
13
+ gem "rubocop", "~> 0.72.0"
14
+ gem "rubocop-rspec", "~> 1.32"
15
+ end
16
+
17
+ gemspec path: "../"
@@ -0,0 +1,159 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ activevalidation (0.1.0)
5
+ activemodel (>= 5.0.0, < 6.1)
6
+ activesupport (>= 5.0.0, < 6.1)
7
+ concurrent-ruby (>= 1.0.0, < 2.0)
8
+ zeitwerk (~> 2.1.9)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (5.1.7)
14
+ activesupport (= 5.1.7)
15
+ activerecord (5.1.7)
16
+ activemodel (= 5.1.7)
17
+ activesupport (= 5.1.7)
18
+ arel (~> 8.0)
19
+ activesupport (5.1.7)
20
+ concurrent-ruby (~> 1.0, >= 1.0.2)
21
+ i18n (>= 0.7, < 2)
22
+ minitest (~> 5.1)
23
+ tzinfo (~> 1.1)
24
+ appraisal (2.2.0)
25
+ bundler
26
+ rake
27
+ thor (>= 0.14.0)
28
+ arel (8.0.0)
29
+ ast (2.4.0)
30
+ axiom-types (0.1.1)
31
+ descendants_tracker (~> 0.0.4)
32
+ ice_nine (~> 0.11.0)
33
+ thread_safe (~> 0.3, >= 0.3.1)
34
+ byebug (11.0.1)
35
+ c21e (1.1.9)
36
+ childprocess (0.9.0)
37
+ ffi (~> 1.0, >= 1.0.11)
38
+ codeclimate-engine-rb (0.4.1)
39
+ virtus (~> 1.0)
40
+ coderay (1.1.2)
41
+ coercible (1.0.0)
42
+ descendants_tracker (~> 0.0.1)
43
+ concurrent-ruby (1.1.5)
44
+ cucumber-messages (2.1.2)
45
+ google-protobuf (>= 3.2, <= 3.7)
46
+ database_cleaner (1.7.0)
47
+ descendants_tracker (0.0.4)
48
+ thread_safe (~> 0.3, >= 0.3.1)
49
+ diff-lcs (1.3)
50
+ docile (1.3.2)
51
+ equalizer (0.0.11)
52
+ factory_bot (5.0.2)
53
+ activesupport (>= 4.2.0)
54
+ ffi (1.11.1)
55
+ gherkin (6.0.17)
56
+ c21e (~> 1.1.9)
57
+ cucumber-messages (~> 2.1.2)
58
+ google-protobuf (3.7.0-universal-darwin)
59
+ i18n (1.6.0)
60
+ concurrent-ruby (~> 1.0)
61
+ ice_nine (0.11.2)
62
+ iniparse (1.4.4)
63
+ jaro_winkler (1.5.3)
64
+ json (2.2.0)
65
+ kwalify (0.7.2)
66
+ method_source (0.9.2)
67
+ minitest (5.12.2)
68
+ mysql2 (0.5.2)
69
+ overcommit (0.48.1)
70
+ childprocess (~> 0.6, >= 0.6.3)
71
+ iniparse (~> 1.4)
72
+ parallel (1.17.0)
73
+ parser (2.6.4.1)
74
+ ast (~> 2.4.0)
75
+ pg (1.0.0)
76
+ pry (0.12.2)
77
+ coderay (~> 1.1.0)
78
+ method_source (~> 0.9.0)
79
+ pry-byebug (3.7.0)
80
+ byebug (~> 11.0)
81
+ pry (~> 0.10)
82
+ psych (3.1.0)
83
+ rainbow (3.0.0)
84
+ rake (13.0.0)
85
+ reek (5.4.0)
86
+ codeclimate-engine-rb (~> 0.4.0)
87
+ kwalify (~> 0.7.0)
88
+ parser (>= 2.5.0.0, < 2.7, != 2.5.1.1)
89
+ psych (~> 3.1.0)
90
+ rainbow (>= 2.0, < 4.0)
91
+ rspec (3.8.0)
92
+ rspec-core (~> 3.8.0)
93
+ rspec-expectations (~> 3.8.0)
94
+ rspec-mocks (~> 3.8.0)
95
+ rspec-core (3.8.2)
96
+ rspec-support (~> 3.8.0)
97
+ rspec-expectations (3.8.4)
98
+ diff-lcs (>= 1.2.0, < 2.0)
99
+ rspec-support (~> 3.8.0)
100
+ rspec-mocks (3.8.1)
101
+ diff-lcs (>= 1.2.0, < 2.0)
102
+ rspec-support (~> 3.8.0)
103
+ rspec-support (3.8.2)
104
+ rubocop (0.72.0)
105
+ jaro_winkler (~> 1.5.1)
106
+ parallel (~> 1.10)
107
+ parser (>= 2.6)
108
+ rainbow (>= 2.2.2, < 4.0)
109
+ ruby-progressbar (~> 1.7)
110
+ unicode-display_width (>= 1.4.0, < 1.7)
111
+ rubocop-rspec (1.36.0)
112
+ rubocop (>= 0.68.1)
113
+ ruby-progressbar (1.10.1)
114
+ simplecov (0.17.1)
115
+ docile (~> 1.1)
116
+ json (>= 1.8, < 3)
117
+ simplecov-html (~> 0.10.0)
118
+ simplecov-html (0.10.2)
119
+ sqlite3 (1.3.13)
120
+ thor (0.20.3)
121
+ thread_safe (0.3.6)
122
+ turnip (4.0.1)
123
+ gherkin (~> 6.0.17)
124
+ rspec (>= 3.0, < 4.0)
125
+ tzinfo (1.2.5)
126
+ thread_safe (~> 0.1)
127
+ unicode-display_width (1.6.0)
128
+ virtus (1.0.5)
129
+ axiom-types (~> 0.1)
130
+ coercible (~> 1.0)
131
+ descendants_tracker (~> 0.0, >= 0.0.3)
132
+ equalizer (~> 0.0, >= 0.0.9)
133
+ zeitwerk (2.1.10)
134
+
135
+ PLATFORMS
136
+ ruby
137
+
138
+ DEPENDENCIES
139
+ activerecord (~> 5.1.0)
140
+ activevalidation!
141
+ appraisal (~> 2.2.0)
142
+ bundler (~> 1.17)
143
+ database_cleaner (~> 1.7.0)
144
+ factory_bot (~> 5.0.0)
145
+ mysql2 (~> 0.5.2)
146
+ overcommit (~> 0.48.0)
147
+ pg (~> 1.0.0)
148
+ pry (~> 0.12.0)
149
+ pry-byebug (~> 3.7.0)
150
+ reek (~> 5.4.0)
151
+ rspec (~> 3.8)
152
+ rubocop (~> 0.72.0)
153
+ rubocop-rspec (~> 1.32)
154
+ simplecov (~> 0.16)
155
+ sqlite3 (>= 1.3.13)
156
+ turnip (~> 4.0.0)
157
+
158
+ BUNDLED WITH
159
+ 1.17.3