vorpal 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +18 -0
  4. data/Appraisals +7 -23
  5. data/README.md +27 -31
  6. data/Rakefile +32 -3
  7. data/docker-compose.yml +19 -0
  8. data/gemfiles/rails_5_1.gemfile +1 -1
  9. data/gemfiles/rails_5_1.gemfile.lock +27 -14
  10. data/gemfiles/rails_5_2.gemfile +1 -1
  11. data/gemfiles/rails_5_2.gemfile.lock +27 -14
  12. data/gemfiles/rails_6_0.gemfile +9 -0
  13. data/gemfiles/{rails_5_0.gemfile.lock → rails_6_0.gemfile.lock} +47 -34
  14. data/lib/vorpal/dsl/config_builder.rb +37 -22
  15. data/lib/vorpal/dsl/defaults_generator.rb +14 -4
  16. data/lib/vorpal/identity_map.rb +15 -14
  17. data/lib/vorpal/version.rb +1 -1
  18. data/spec/{vorpal/acceptance → acceptance/vorpal}/aggregate_mapper_spec.rb +0 -1
  19. data/spec/helpers/codecov_helper.rb +7 -0
  20. data/spec/helpers/db_helpers.rb +12 -9
  21. data/spec/{vorpal/integration → integration/vorpal}/driver/postgresql_spec.rb +0 -0
  22. data/spec/integration_spec_helper.rb +9 -16
  23. data/spec/{vorpal/performance → performance/vorpal}/performance_spec.rb +71 -1
  24. data/spec/{vorpal/unit → unit/vorpal}/configs_spec.rb +0 -0
  25. data/spec/{vorpal/unit → unit/vorpal}/db_loader_spec.rb +0 -0
  26. data/spec/{vorpal/unit → unit/vorpal}/dsl/config_builder_spec.rb +0 -0
  27. data/spec/{vorpal/unit → unit/vorpal}/dsl/defaults_generator_spec.rb +0 -0
  28. data/spec/{vorpal/unit → unit/vorpal}/identity_map_spec.rb +3 -3
  29. data/spec/{vorpal/unit → unit/vorpal}/loaded_objects_spec.rb +0 -0
  30. data/spec/{vorpal/unit → unit/vorpal}/util/string_utils_spec.rb +0 -0
  31. data/spec/unit_spec_helper.rb +1 -0
  32. data/vorpal.gemspec +6 -5
  33. metadata +59 -45
  34. data/gemfiles/rails_4_1.gemfile +0 -11
  35. data/gemfiles/rails_4_1.gemfile.lock +0 -92
  36. data/gemfiles/rails_4_2.gemfile +0 -11
  37. data/gemfiles/rails_4_2.gemfile.lock +0 -90
  38. data/gemfiles/rails_5_0.gemfile +0 -11
@@ -22,43 +22,58 @@ module Vorpal
22
22
  @attributes.concat(attributes)
23
23
  end
24
24
 
25
- # Defines a one-to-many association with a list of objects of the same type.
25
+ # Defines a one-to-many association to another type where the foreign key is stored on the child.
26
26
  #
27
- # @param name [String] Name of the attribute that will refer to the other object.
27
+ # In Object-Oriented programming, associations are *directed*. This means that they can only be
28
+ # traversed in one direction: from the type that defines the association (the one with the
29
+ # getter) to the type that is associated. They end that defines the association is called the
30
+ # 'Parent' and the end that is associated is called the 'Child'.
31
+ #
32
+ # @param name [String] Name of the association getter.
28
33
  # @param options [Hash]
29
- # @option options [Boolean] :owned
30
- # @option options [String] :fk
31
- # @option options [String] :fk_type
32
- # @option options [Class] :child_class
34
+ # @option options [Boolean] :owned (True) True if the child type belongs to the aggregate. Changes to any object belonging to the aggregate will be persisted when the aggregate is persisted.
35
+ # @option options [String] :fk (Parent class name converted to snakecase and appended with a '_id') The name of the DB column on the child that contains the foreign key reference to the parent.
36
+ # @option options [String] :fk_type The name of the DB column on the child that contains the parent class name. Only needed when there is an association from the child side that is polymorphic.
37
+ # @option options [Class] :child_class (name converted to a Class) The child class.
33
38
  def has_many(name, options={})
34
39
  @has_manys << {name: name}.merge(options)
35
40
  end
36
41
 
37
- # Defines a one-to-one association with another object where the foreign key
38
- # is stored on the other object.
42
+ # Defines a one-to-one association to another type where the foreign key
43
+ # is stored on the child.
44
+ #
45
+ # In Object-Oriented programming, associations are *directed*. This means that they can only be
46
+ # traversed in one direction: from the type that defines the association (the one with the
47
+ # getter) to the type that is associated. They end that defines the association is called the
48
+ # 'Parent' and the end that is associated is called the 'Child'.
39
49
  #
40
- # @param name [String] Name of the attribute that will refer to the other object.
50
+ # @param name [String] Name of the association getter.
41
51
  # @param options [Hash]
42
- # @option options [Boolean] :owned
43
- # @option options [String] :fk
44
- # @option options [String] :fk_type
45
- # @option options [Class] :child_class
52
+ # @option options [Boolean] :owned (True) True if the child type belongs to the aggregate. Changes to any object belonging to the aggregate will be persisted when the aggregate is persisted.
53
+ # @option options [String] :fk (Parent class name converted to snakecase and appended with a '_id') The name of the DB column on the child that contains the foreign key reference to the parent.
54
+ # @option options [String] :fk_type The name of the DB column on the child that contains the parent class name. Only needed when there is an association from the child side that is polymorphic.
55
+ # @option options [Class] :child_class (name converted to a Class) The child class.
46
56
  def has_one(name, options={})
47
57
  @has_ones << {name: name}.merge(options)
48
58
  end
49
59
 
50
- # Defines a one-to-one association with another object where the foreign key
51
- # is stored on this object.
60
+ # Defines a one-to-one association with another type where the foreign key
61
+ # is stored on the parent.
62
+ #
63
+ # This association can be polymorphic. I.E. children can be of different types.
52
64
  #
53
- # This association can be polymorphic. i.e.
65
+ # In Object-Oriented programming, associations are *directed*. This means that they can only be
66
+ # traversed in one direction: from the type that defines the association (the one with the
67
+ # getter) to the type that is associated. They end that defines the association is called the
68
+ # 'Parent' and the end that is associated is called the 'Child'.
54
69
  #
55
- # @param name [String] Name of the attribute that will refer to the other object.
70
+ # @param name [String] Name of the association getter.
56
71
  # @param options [Hash]
57
- # @option options [Boolean] :owned
58
- # @option options [String] :fk
59
- # @option options [String] :fk_type
60
- # @option options [Class] :child_class
61
- # @option options [[Class]] :child_classes
72
+ # @option options [Boolean] :owned (True) True if the child type belongs to the aggregate. Changes to any object belonging to the aggregate will be persisted when the aggregate is persisted.
73
+ # @option options [String] :fk (Child class name converted to snakecase and appended with a '_id') The name of the DB column on the parent that contains the foreign key reference to the child.
74
+ # @option options [String] :fk_type The name of the DB column on the parent that contains the child class name. Only needed when the association is polymorphic.
75
+ # @option options [Class] :child_class (name converted to a Class) The child class.
76
+ # @option options [[Class]] :child_classes The list of possible classes that can be children. This is for polymorphic associations. Takes precedence over `:child_class`.
62
77
  def belongs_to(name, options={})
63
78
  @belongs_tos << {name: name}.merge(options)
64
79
  end
@@ -1,6 +1,6 @@
1
1
  require 'simple_serializer/serializer'
2
2
  require 'simple_serializer/deserializer'
3
- require 'active_support/inflector/methods'
3
+ require 'active_support'
4
4
  require 'active_support/core_ext/module/introspection'
5
5
 
6
6
  module Vorpal
@@ -36,9 +36,19 @@ module Vorpal
36
36
  end
37
37
 
38
38
  def child_class(association_name)
39
- # Module#parent comes from 'active_support/core_ext/module/introspection'
40
- parent_module = @domain_class.parent
41
- parent_module.const_get(ActiveSupport::Inflector.classify(association_name.to_s))
39
+ module_parent.const_get(ActiveSupport::Inflector.classify(association_name.to_s))
40
+ end
41
+
42
+ private
43
+
44
+ def module_parent
45
+ if (ActiveSupport::VERSION::MAJOR == 5)
46
+ # Module#parent comes from 'active_support/core_ext/module/introspection'
47
+ @domain_class.parent
48
+ else
49
+ # Module#module_parent comes from 'active_support/core_ext/module/introspection'
50
+ @domain_class.module_parent
51
+ end
42
52
  end
43
53
  end
44
54
  end
@@ -1,22 +1,23 @@
1
1
  module Vorpal
2
+ # Maps DB rows to Entities
2
3
  class IdentityMap
3
4
  def initialize
4
5
  @entities = {}
5
6
  end
6
7
 
7
- def get(key_object)
8
- @entities[key(key_object)]
8
+ def get(db_row)
9
+ @entities[key(db_row)]
9
10
  end
10
11
 
11
- def set(key_object, object)
12
- @entities[key(key_object)] = object
12
+ def set(db_row, entity)
13
+ @entities[key(db_row)] = entity
13
14
  end
14
15
 
15
- def get_and_set(key_object)
16
- object = get(key_object)
17
- object = yield if object.nil?
18
- set(key_object, object)
19
- object
16
+ def get_and_set(db_row)
17
+ entity = get(db_row)
18
+ entity = yield if entity.nil?
19
+ set(db_row, entity)
20
+ entity
20
21
  end
21
22
 
22
23
  def map(key_objects)
@@ -25,11 +26,11 @@ module Vorpal
25
26
 
26
27
  private
27
28
 
28
- def key(key_object)
29
- return nil unless key_object
30
- raise "Cannot put entity '#{key_object.inspect}' into IdentityMap without an id." if key_object.id.nil?
31
- raise "Cannot put entity '#{key_object.inspect}' into IdentityMap without a Class with a name." if key_object.class.name.nil?
32
- [key_object.id, key_object.class.name]
29
+ def key(db_row)
30
+ return nil unless db_row
31
+ raise "Cannot map a DB row without an id '#{db_row.inspect}' to an entity." if db_row.id.nil?
32
+ raise "Cannot map a DB row without a Class with a name '#{db_row.inspect}' to an entity." if db_row.class.name.nil?
33
+ [db_row.id, db_row.class.name]
33
34
  end
34
35
  end
35
36
  end
@@ -1,3 +1,3 @@
1
1
  module Vorpal
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -1,7 +1,6 @@
1
1
  require 'integration_spec_helper'
2
2
  require 'vorpal'
3
3
  require 'virtus'
4
- require 'activerecord-import/base'
5
4
 
6
5
  describe 'AggregateMapper' do
7
6
 
@@ -0,0 +1,7 @@
1
+ if ENV["TRAVIS"]
2
+ require 'simplecov'
3
+ SimpleCov.start
4
+
5
+ require 'codecov'
6
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
7
+ end
@@ -6,11 +6,17 @@ module DbHelpers
6
6
  host: 'localhost',
7
7
  database: 'vorpal_test',
8
8
  min_messages: 'error',
9
- # Change the following to reflect your database settings
10
- # username: 'vorpal',
11
- # password: 'pass',
12
9
  }
13
10
 
11
+ if !ENV["TRAVIS"]
12
+ # These settings need to agree with what is in the docker-compose.yml file
13
+ CONNECTION_SETTINGS.merge!(
14
+ port: 55433,
15
+ username: 'vorpal',
16
+ password: 'pass',
17
+ )
18
+ end
19
+
14
20
  def ensure_database_exists
15
21
  test_database_name = CONNECTION_SETTINGS.fetch(:database)
16
22
  if !db_exists?(test_database_name)
@@ -52,12 +58,9 @@ module DbHelpers
52
58
  private
53
59
 
54
60
  def table_name_is_free?(table_name)
55
- if ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR == 1
56
- !db_connection.table_exists?(table_name)
57
- elsif (ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR == 2) ||
58
- (ActiveRecord::VERSION::MAJOR == 5 && ActiveRecord::VERSION::MINOR == 0) ||
59
- (ActiveRecord::VERSION::MAJOR == 5 && ActiveRecord::VERSION::MINOR == 1) ||
60
- (ActiveRecord::VERSION::MAJOR == 5 && ActiveRecord::VERSION::MINOR == 2)
61
+ if (ActiveRecord::VERSION::MAJOR == 5 && ActiveRecord::VERSION::MINOR == 1) ||
62
+ (ActiveRecord::VERSION::MAJOR == 5 && ActiveRecord::VERSION::MINOR == 2) ||
63
+ (ActiveRecord::VERSION::MAJOR == 6 && ActiveRecord::VERSION::MINOR == 0)
61
64
  !db_connection.data_source_exists?(table_name)
62
65
  else
63
66
  raise "ActiveRecord Version #{ActiveRecord::VERSION::STRING} is not supported!"
@@ -1,6 +1,13 @@
1
1
  require 'active_record'
2
2
  require 'pg'
3
3
  require 'helpers/db_helpers'
4
+ require 'helpers/codecov_helper'
5
+ begin
6
+ require 'activerecord-import/base'
7
+ rescue LoadError
8
+ puts "Not using activerecord-import!"
9
+ end
10
+
4
11
 
5
12
  DbHelpers.ensure_database_exists
6
13
  DbHelpers.establish_connection
@@ -11,26 +18,12 @@ RSpec.configure do |config|
11
18
  # implements `use_transactional_fixtures = true`
12
19
  config.before(:each) do
13
20
  connection = ActiveRecord::Base.connection
14
- if ActiveRecord::VERSION::MAJOR == 3
15
- # from lib/active_record/fixtures.rb
16
- connection.increment_open_transactions
17
- connection.transaction_joinable = false
18
- connection.begin_db_transaction
19
- else
20
- connection.begin_transaction(joinable: false)
21
- end
21
+ connection.begin_transaction(joinable: false)
22
22
  end
23
23
 
24
24
  config.after(:each) do
25
25
  connection = ActiveRecord::Base.connection
26
- if ActiveRecord::VERSION::MAJOR == 3
27
- if connection.open_transactions != 0
28
- connection.rollback_db_transaction
29
- connection.decrement_open_transactions
30
- end
31
- else
32
- connection.rollback_transaction if connection.transaction_open?
33
- end
26
+ connection.rollback_transaction if connection.transaction_open?
34
27
  ActiveRecord::Base.clear_active_connections!
35
28
  end
36
29
  end
@@ -1,7 +1,6 @@
1
1
  require 'integration_spec_helper'
2
2
  require 'vorpal'
3
3
  require 'virtus'
4
- require 'activerecord-import/base'
5
4
 
6
5
  module Performance
7
6
  describe 'performance' do
@@ -130,6 +129,77 @@ describe 'performance' do
130
129
  # update 3.010000 0.290000 3.300000 ( 3.850101)
131
130
  # load 1.380000 0.010000 1.390000 ( 1.561047)
132
131
  # destroy 1.050000 0.010000 1.060000 ( 1.260379)
132
+ #
133
+ # Vorpal 1.0.1, Ruby 2.5.7, ActiveRecord 5.1.7, AR:Import 0.13.0, OSX
134
+ # user system total real
135
+ # create 0.865771 0.102388 0.968159 ( 1.525707)
136
+ # update 2.644134 0.206294 2.850428 ( 3.318751)
137
+ # load 1.246217 0.009570 1.255787 ( 1.416289)
138
+ # destroy 0.743522 0.002833 0.746355 ( 0.951756)
139
+ #
140
+ # Vorpal 1.0.1, Ruby 2.5.7, ActiveRecord 5.1.7, AR:Import 0.13.0, Dockerized Test DB, OSX
141
+ # user system total real
142
+ # create 0.928937 0.132224 1.061161 ( 5.779951)
143
+ # update 2.980097 0.266119 3.246216 ( 12.187891)
144
+ # load 1.254854 0.010550 1.265404 ( 1.368346)
145
+ # destroy 0.758912 0.003954 0.762866 ( 0.888106)
146
+ #
147
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, AR:Import 0.13.0, OSX
148
+ # user system total real
149
+ # create 0.732053 0.096794 0.828847 ( 1.301937)
150
+ # update 2.041864 0.190059 2.231923 ( 2.717304)
151
+ # load 1.067965 0.006396 1.074361 ( 1.244547)
152
+ # destroy 0.685867 0.002530 0.688397 ( 0.910923)
153
+ #
154
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, AR:Import 0.13.0, Dockerized Test DB, OSX
155
+ # user system total real
156
+ # create 0.867153 0.144517 1.011670 ( 6.219567)
157
+ # update 2.429280 0.268099 2.697379 ( 11.714242)
158
+ # load 1.068408 0.005479 1.073887 ( 1.168998)
159
+ # destroy 0.681347 0.002968 0.684315 ( 0.803671)
160
+ #
161
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, AR:Import 1.0.4, OSX
162
+ # user system total real
163
+ # create 0.640735 0.009528 0.650263 ( 0.778304)
164
+ # update 2.051961 0.187531 2.239492 ( 2.752651)
165
+ # load 1.127992 0.009353 1.137345 ( 1.323969)
166
+ # destroy 0.694419 0.004167 0.698586 ( 0.928359)
167
+ #
168
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, AR:Import 1.0.4, Dockerized Test DB, OSX
169
+ # user system total real
170
+ # create 0.665585 0.009352 0.674937 ( 0.809183)
171
+ # update 2.644085 0.299573 2.943658 ( 12.945297)
172
+ # load 1.233911 0.009636 1.243547 ( 1.353933)
173
+ # destroy 0.756727 0.004722 0.761449 ( 0.892230)
174
+ #
175
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, No AR:Import, OSX
176
+ # user system total real
177
+ # create 2.342875 0.299983 2.642858 ( 3.809430)
178
+ # update 2.021266 0.181808 2.203074 ( 2.672334)
179
+ # load 1.113677 0.008489 1.122166 ( 1.301392)
180
+ # destroy 0.695616 0.002754 0.698370 ( 0.933155)
181
+ #
182
+ # Vorpal 1.0.1, Ruby 2.6.3, ActiveRecord 5.2.4.1, No AR:Import, Dockerized Test DB, OSX
183
+ # user system total real
184
+ # create 2.934016 0.397708 3.331724 ( 17.443961)
185
+ # update 2.450073 0.262948 2.713021 ( 11.525552)
186
+ # load 1.106541 0.009080 1.115621 ( 1.218981)
187
+ # destroy 0.694103 0.003070 0.697173 ( 0.825317)
188
+ #
189
+ # Vorpal 1.0.1, Ruby 2.7.0, ActiveRecord 6.0.2, AR:Import 1.0.4, OSX
190
+ # user system total real
191
+ # create 0.637130 0.005220 0.642350 ( 0.725564)
192
+ # update 1.488417 0.010347 1.498764 ( 1.685821)
193
+ # load 1.209270 0.014584 1.223854 ( 1.443170)
194
+ # destroy 0.692401 0.003984 0.696385 ( 0.926835)
195
+ #
196
+ # Vorpal 1.0.1, Ruby 2.7.0, ActiveRecord 6.0.2, AR:Import 1.0.4, Dockerized Test DB, OSX
197
+ # user system total real
198
+ # create 0.661741 0.008410 0.670151 ( 0.785426)
199
+ # update 1.419727 0.005630 1.425357 ( 1.539234)
200
+ # load 1.042127 0.006379 1.048506 ( 1.156116)
201
+ # destroy 0.693851 0.003333 0.697184 ( 0.829565)
202
+ #
133
203
  it 'benchmarks all operations' do
134
204
  trees = build_trees(1000)
135
205
  Benchmark.bm(7) do |x|
@@ -18,7 +18,7 @@ describe Vorpal::IdentityMap do
18
18
  it "raises an exception when the key object does not have an id set" do
19
19
  entity = build_entity(nil)
20
20
 
21
- expect { map.set(entity, 'something') }.to raise_error(/Cannot put entity/)
21
+ expect { map.set(entity, 'something') }.to raise_error(/Cannot map a DB row/)
22
22
  end
23
23
 
24
24
  it 'raises an exception when the key object extends a class with no name (such as anonymous classes)' do
@@ -29,7 +29,7 @@ describe Vorpal::IdentityMap do
29
29
  entity = anonymous_class.new
30
30
  entity.id = 1
31
31
 
32
- expect { map.set(entity, 'something') }.to raise_error(/Cannot put entity/)
32
+ expect { map.set(entity, 'something') }.to raise_error(/Cannot map a DB row/)
33
33
  end
34
34
 
35
35
  def build_entity(id)
@@ -59,4 +59,4 @@ describe Vorpal::IdentityMap do
59
59
  true
60
60
  end
61
61
  end
62
- end
62
+ end
@@ -0,0 +1 @@
1
+ require 'helpers/codecov_helper'
@@ -22,13 +22,14 @@ Gem::Specification.new do |spec|
22
22
  spec.add_runtime_dependency "equalizer"
23
23
  spec.add_runtime_dependency "activesupport"
24
24
 
25
- spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rake", "~> 10"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
27
  spec.add_development_dependency "virtus", "~> 1.0"
28
28
  spec.add_development_dependency "appraisal", "~> 2.2"
29
29
 
30
- spec.required_ruby_version = ">= 2.1.6"
31
- spec.add_development_dependency "activerecord", "~> 4.1.0"
32
- spec.add_development_dependency "pg", "~> 0.17.0"
33
- spec.add_development_dependency "activerecord-import", "~> 0.10.0"
30
+ spec.required_ruby_version = ">= 2.5.7"
31
+ spec.add_development_dependency "activerecord"
32
+ spec.add_development_dependency "pg"
33
+ spec.add_development_dependency "activerecord-import"
34
+ spec.add_development_dependency "codecov"
34
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vorpal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Kirby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-05 00:00:00.000000000 Z
11
+ date: 2020-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple_serializer
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '10'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '10'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -112,44 +112,58 @@ dependencies:
112
112
  name: activerecord
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 4.1.0
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 4.1.0
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pg
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 0.17.0
131
+ version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 0.17.0
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: activerecord-import
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 0.10.0
145
+ version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: codecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
151
158
  - !ruby/object:Gem::Version
152
- version: 0.10.0
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  description: An ORM framelet that fits on top of ActiveRecord to give you 'Data Mapper'
154
168
  semantics.
155
169
  email:
@@ -165,6 +179,8 @@ files:
165
179
  - ".envrc"
166
180
  - ".gitignore"
167
181
  - ".rspec"
182
+ - ".ruby-version"
183
+ - ".travis.yml"
168
184
  - ".yardopts"
169
185
  - Appraisals
170
186
  - CHANGELOG.md
@@ -175,16 +191,13 @@ files:
175
191
  - bin/appraisal
176
192
  - bin/rake
177
193
  - bin/rspec
178
- - gemfiles/rails_4_1.gemfile
179
- - gemfiles/rails_4_1.gemfile.lock
180
- - gemfiles/rails_4_2.gemfile
181
- - gemfiles/rails_4_2.gemfile.lock
182
- - gemfiles/rails_5_0.gemfile
183
- - gemfiles/rails_5_0.gemfile.lock
194
+ - docker-compose.yml
184
195
  - gemfiles/rails_5_1.gemfile
185
196
  - gemfiles/rails_5_1.gemfile.lock
186
197
  - gemfiles/rails_5_2.gemfile
187
198
  - gemfiles/rails_5_2.gemfile.lock
199
+ - gemfiles/rails_6_0.gemfile
200
+ - gemfiles/rails_6_0.gemfile.lock
188
201
  - lib/vorpal.rb
189
202
  - lib/vorpal/aggregate_mapper.rb
190
203
  - lib/vorpal/aggregate_traversal.rb
@@ -203,20 +216,21 @@ files:
203
216
  - lib/vorpal/util/hash_initialization.rb
204
217
  - lib/vorpal/util/string_utils.rb
205
218
  - lib/vorpal/version.rb
219
+ - spec/acceptance/vorpal/aggregate_mapper_spec.rb
220
+ - spec/helpers/codecov_helper.rb
206
221
  - spec/helpers/db_helpers.rb
207
222
  - spec/helpers/profile_helpers.rb
223
+ - spec/integration/vorpal/driver/postgresql_spec.rb
208
224
  - spec/integration_spec_helper.rb
225
+ - spec/performance/vorpal/performance_spec.rb
226
+ - spec/unit/vorpal/configs_spec.rb
227
+ - spec/unit/vorpal/db_loader_spec.rb
228
+ - spec/unit/vorpal/dsl/config_builder_spec.rb
229
+ - spec/unit/vorpal/dsl/defaults_generator_spec.rb
230
+ - spec/unit/vorpal/identity_map_spec.rb
231
+ - spec/unit/vorpal/loaded_objects_spec.rb
232
+ - spec/unit/vorpal/util/string_utils_spec.rb
209
233
  - spec/unit_spec_helper.rb
210
- - spec/vorpal/acceptance/aggregate_mapper_spec.rb
211
- - spec/vorpal/integration/driver/postgresql_spec.rb
212
- - spec/vorpal/performance/performance_spec.rb
213
- - spec/vorpal/unit/configs_spec.rb
214
- - spec/vorpal/unit/db_loader_spec.rb
215
- - spec/vorpal/unit/dsl/config_builder_spec.rb
216
- - spec/vorpal/unit/dsl/defaults_generator_spec.rb
217
- - spec/vorpal/unit/identity_map_spec.rb
218
- - spec/vorpal/unit/loaded_objects_spec.rb
219
- - spec/vorpal/unit/util/string_utils_spec.rb
220
234
  - vorpal.gemspec
221
235
  homepage: https://github.com/nulogy/vorpal
222
236
  licenses:
@@ -230,30 +244,30 @@ required_ruby_version: !ruby/object:Gem::Requirement
230
244
  requirements:
231
245
  - - ">="
232
246
  - !ruby/object:Gem::Version
233
- version: 2.1.6
247
+ version: 2.5.7
234
248
  required_rubygems_version: !ruby/object:Gem::Requirement
235
249
  requirements:
236
250
  - - ">="
237
251
  - !ruby/object:Gem::Version
238
252
  version: '0'
239
253
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.7.3
254
+ rubygems_version: 3.1.2
242
255
  signing_key:
243
256
  specification_version: 4
244
257
  summary: Separate your domain model from your persistence mechanism.
245
258
  test_files:
259
+ - spec/acceptance/vorpal/aggregate_mapper_spec.rb
260
+ - spec/helpers/codecov_helper.rb
246
261
  - spec/helpers/db_helpers.rb
247
262
  - spec/helpers/profile_helpers.rb
263
+ - spec/integration/vorpal/driver/postgresql_spec.rb
248
264
  - spec/integration_spec_helper.rb
265
+ - spec/performance/vorpal/performance_spec.rb
266
+ - spec/unit/vorpal/configs_spec.rb
267
+ - spec/unit/vorpal/db_loader_spec.rb
268
+ - spec/unit/vorpal/dsl/config_builder_spec.rb
269
+ - spec/unit/vorpal/dsl/defaults_generator_spec.rb
270
+ - spec/unit/vorpal/identity_map_spec.rb
271
+ - spec/unit/vorpal/loaded_objects_spec.rb
272
+ - spec/unit/vorpal/util/string_utils_spec.rb
249
273
  - spec/unit_spec_helper.rb
250
- - spec/vorpal/acceptance/aggregate_mapper_spec.rb
251
- - spec/vorpal/integration/driver/postgresql_spec.rb
252
- - spec/vorpal/performance/performance_spec.rb
253
- - spec/vorpal/unit/configs_spec.rb
254
- - spec/vorpal/unit/db_loader_spec.rb
255
- - spec/vorpal/unit/dsl/config_builder_spec.rb
256
- - spec/vorpal/unit/dsl/defaults_generator_spec.rb
257
- - spec/vorpal/unit/identity_map_spec.rb
258
- - spec/vorpal/unit/loaded_objects_spec.rb
259
- - spec/vorpal/unit/util/string_utils_spec.rb