vorpal 1.0.1 → 1.0.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/.ruby-version +1 -0
- data/.travis.yml +18 -0
- data/Appraisals +7 -23
- data/README.md +27 -31
- data/Rakefile +32 -3
- data/docker-compose.yml +19 -0
- data/gemfiles/rails_5_1.gemfile +1 -1
- data/gemfiles/rails_5_1.gemfile.lock +27 -14
- data/gemfiles/rails_5_2.gemfile +1 -1
- data/gemfiles/rails_5_2.gemfile.lock +27 -14
- data/gemfiles/rails_6_0.gemfile +9 -0
- data/gemfiles/{rails_5_0.gemfile.lock → rails_6_0.gemfile.lock} +47 -34
- data/lib/vorpal/dsl/config_builder.rb +37 -22
- data/lib/vorpal/dsl/defaults_generator.rb +14 -4
- data/lib/vorpal/identity_map.rb +15 -14
- data/lib/vorpal/version.rb +1 -1
- data/spec/{vorpal/acceptance → acceptance/vorpal}/aggregate_mapper_spec.rb +0 -1
- data/spec/helpers/codecov_helper.rb +7 -0
- data/spec/helpers/db_helpers.rb +12 -9
- data/spec/{vorpal/integration → integration/vorpal}/driver/postgresql_spec.rb +0 -0
- data/spec/integration_spec_helper.rb +9 -16
- data/spec/{vorpal/performance → performance/vorpal}/performance_spec.rb +71 -1
- data/spec/{vorpal/unit → unit/vorpal}/configs_spec.rb +0 -0
- data/spec/{vorpal/unit → unit/vorpal}/db_loader_spec.rb +0 -0
- data/spec/{vorpal/unit → unit/vorpal}/dsl/config_builder_spec.rb +0 -0
- data/spec/{vorpal/unit → unit/vorpal}/dsl/defaults_generator_spec.rb +0 -0
- data/spec/{vorpal/unit → unit/vorpal}/identity_map_spec.rb +3 -3
- data/spec/{vorpal/unit → unit/vorpal}/loaded_objects_spec.rb +0 -0
- data/spec/{vorpal/unit → unit/vorpal}/util/string_utils_spec.rb +0 -0
- data/spec/unit_spec_helper.rb +1 -0
- data/vorpal.gemspec +6 -5
- metadata +59 -45
- data/gemfiles/rails_4_1.gemfile +0 -11
- data/gemfiles/rails_4_1.gemfile.lock +0 -92
- data/gemfiles/rails_4_2.gemfile +0 -11
- data/gemfiles/rails_4_2.gemfile.lock +0 -90
- 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
|
25
|
+
# Defines a one-to-many association to another type where the foreign key is stored on the child.
|
26
26
|
#
|
27
|
-
#
|
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
|
38
|
-
# is stored on the
|
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
|
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
|
51
|
-
# is stored on
|
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
|
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
|
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
|
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
|
-
|
40
|
-
|
41
|
-
|
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
|
data/lib/vorpal/identity_map.rb
CHANGED
@@ -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(
|
8
|
-
@entities[key(
|
8
|
+
def get(db_row)
|
9
|
+
@entities[key(db_row)]
|
9
10
|
end
|
10
11
|
|
11
|
-
def set(
|
12
|
-
@entities[key(
|
12
|
+
def set(db_row, entity)
|
13
|
+
@entities[key(db_row)] = entity
|
13
14
|
end
|
14
15
|
|
15
|
-
def get_and_set(
|
16
|
-
|
17
|
-
|
18
|
-
set(
|
19
|
-
|
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(
|
29
|
-
return nil unless
|
30
|
-
raise "Cannot
|
31
|
-
raise "Cannot
|
32
|
-
[
|
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
|
data/lib/vorpal/version.rb
CHANGED
data/spec/helpers/db_helpers.rb
CHANGED
@@ -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 ==
|
56
|
-
|
57
|
-
|
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!"
|
File without changes
|
@@ -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
|
-
|
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
|
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|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -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
|
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
|
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
|
File without changes
|
File without changes
|
data/spec/unit_spec_helper.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
require 'helpers/codecov_helper'
|
data/vorpal.gemspec
CHANGED
@@ -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
|
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.
|
31
|
-
spec.add_development_dependency "activerecord"
|
32
|
-
spec.add_development_dependency "pg"
|
33
|
-
spec.add_development_dependency "activerecord-import"
|
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.
|
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:
|
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
|
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
|
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:
|
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:
|
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
|
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
|
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
|
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
|
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
|
-
-
|
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.
|
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
|
-
|
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
|