ree_lib 1.0.67 → 1.0.69

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,9 +2,9 @@
2
2
  require 'faker'
3
3
  require 'benchmark'
4
4
 
5
- RSpec.describe :load_agg do
5
+ RSpec.xdescribe :agg do
6
+ link :agg, from: :ree_dao
6
7
  link :build_pg_connection, from: :ree_dao
7
- link :load_agg, from: :ree_dao
8
8
 
9
9
  NUM_OF_USERS = 100
10
10
  ASSOC_COUNT = 10
@@ -14,7 +14,7 @@ RSpec.describe :load_agg do
14
14
  end
15
15
 
16
16
  before :all do
17
- connection = build_pg_connection(ReeDaoLoadAggTest::Db::DB_CONFIG)
17
+ connection = build_pg_connection(ReeDaoAggTest::Db::DB_CONFIG)
18
18
 
19
19
  connection.drop_table(:organizations, cascade: true) if connection.table_exists?(:organizations)
20
20
  connection.drop_table(:users, cascade: true) if connection.table_exists?(:users)
@@ -108,28 +108,28 @@ RSpec.describe :load_agg do
108
108
  connection.disconnect
109
109
  end
110
110
 
111
- require_relative 'ree_dao_load_agg_test'
111
+ require_relative 'ree_dao_agg_test'
112
112
 
113
- class ReeDaoLoadAggTest::UsersAggBenchmark
113
+ class ReeDaoAggTest::AggUsersBenchmark
114
114
  include ReeDao::AggregateDSL
115
115
 
116
- aggregate :users_agg_benchmark do
117
- link :users, from: :ree_dao_load_agg_test
118
- link :organizations, from: :ree_dao_load_agg_test
119
- link :user_passports, from: :ree_dao_load_agg_test
120
- link :books, from: :ree_dao_load_agg_test
121
- link :movies, from: :ree_dao_load_agg_test
122
- link :videogames, from: :ree_dao_load_agg_test
123
- link :hobbies, from: :ree_dao_load_agg_test
124
- link :vinyls, from: :ree_dao_load_agg_test
125
- link :pets, from: :ree_dao_load_agg_test
126
- link :skills, from: :ree_dao_load_agg_test
127
- link :dreams, from: :ree_dao_load_agg_test
128
- link :load_agg, from: :ree_dao
116
+ aggregate :agg_users_benchmark do
117
+ link :users, from: :ree_dao_agg_test
118
+ link :organizations_dao, from: :ree_dao_agg_test
119
+ link :user_passports, from: :ree_dao_agg_test
120
+ link :books, from: :ree_dao_agg_test
121
+ link :movies, from: :ree_dao_agg_test
122
+ link :videogames, from: :ree_dao_agg_test
123
+ link :hobbies, from: :ree_dao_agg_test
124
+ link :vinyls, from: :ree_dao_agg_test
125
+ link :pets, from: :ree_dao_agg_test
126
+ link :skills, from: :ree_dao_agg_test
127
+ link :dreams, from: :ree_dao_agg_test
128
+ link :agg, from: :ree_dao
129
129
  end
130
130
 
131
131
  def call(ids_or_scope)
132
- load_agg(users, ids_or_scope) do
132
+ agg(users, ids_or_scope) do
133
133
  belongs_to :organization
134
134
 
135
135
  has_many :books
@@ -146,21 +146,21 @@ RSpec.describe :load_agg do
146
146
  end
147
147
  end
148
148
 
149
- class ReeDaoLoadAggTest::UsersSyncFetcher
149
+ class ReeDaoAggTest::UsersSyncFetcher
150
150
  include Ree::FnDSL
151
151
 
152
152
  fn :users_sync_fetcher do
153
- link :users, from: :ree_dao_load_agg_test
154
- link :organizations, from: :ree_dao_load_agg_test
155
- link :user_passports, from: :ree_dao_load_agg_test
156
- link :books, from: :ree_dao_load_agg_test
157
- link :movies, from: :ree_dao_load_agg_test
158
- link :videogames, from: :ree_dao_load_agg_test
159
- link :hobbies, from: :ree_dao_load_agg_test
160
- link :vinyls, from: :ree_dao_load_agg_test
161
- link :pets, from: :ree_dao_load_agg_test
162
- link :skills, from: :ree_dao_load_agg_test
163
- link :dreams, from: :ree_dao_load_agg_test
153
+ link :users, from: :ree_dao_agg_test
154
+ link :organizations_dao, from: :ree_dao_agg_test
155
+ link :user_passports, from: :ree_dao_agg_test
156
+ link :books, from: :ree_dao_agg_test
157
+ link :movies, from: :ree_dao_agg_test
158
+ link :videogames, from: :ree_dao_agg_test
159
+ link :hobbies, from: :ree_dao_agg_test
160
+ link :vinyls, from: :ree_dao_agg_test
161
+ link :pets, from: :ree_dao_agg_test
162
+ link :skills, from: :ree_dao_agg_test
163
+ link :dreams, from: :ree_dao_agg_test
164
164
  link :one_to_many, from: :ree_dao
165
165
  link :one_to_one, from: :ree_dao
166
166
  end
@@ -169,7 +169,7 @@ RSpec.describe :load_agg do
169
169
  Or[Sequel::Dataset, ArrayOf[Integer]],
170
170
  Kwargs[
171
171
  include: ArrayOf[Symbol]
172
- ] => ArrayOf[ReeDaoLoadAggTest::User]
172
+ ] => ArrayOf[ReeDaoAggTest::User]
173
173
  )
174
174
  def call(ids_or_scope, include: [])
175
175
  scope = if ids_or_scope.is_a?(Array)
@@ -183,7 +183,7 @@ RSpec.describe :load_agg do
183
183
  return [] if list.empty?
184
184
 
185
185
  if include.include?(:organization)
186
- one_to_one(list, organizations.order(:id))
186
+ one_to_one(list, organizations_dao.order(:id))
187
187
  end
188
188
 
189
189
  if include.include?(:books)
@@ -230,23 +230,23 @@ RSpec.describe :load_agg do
230
230
  end
231
231
  end
232
232
 
233
- let(:users_agg) { ReeDaoLoadAggTest::UsersAggBenchmark.new }
234
- let(:users_sync_fetcher) { ReeDaoLoadAggTest::UsersSyncFetcher.new }
235
-
236
- let(:organizations) { ReeDaoLoadAggTest::Organizations.new }
237
- let(:users) { ReeDaoLoadAggTest::Users.new }
238
- let(:user_passports) { ReeDaoLoadAggTest::UserPassports.new }
239
- let(:books) { ReeDaoLoadAggTest::Books.new }
240
- let(:movies) { ReeDaoLoadAggTest::Movies.new }
241
- let(:videogames) { ReeDaoLoadAggTest::Videogames.new }
242
- let(:hobbies) { ReeDaoLoadAggTest::Hobbies.new }
243
- let(:vinyls) { ReeDaoLoadAggTest::Vinyls.new }
244
- let(:pets) { ReeDaoLoadAggTest::Pets.new }
245
- let(:skills) { ReeDaoLoadAggTest::Skills.new }
246
- let(:dreams) { ReeDaoLoadAggTest::Dreams.new }
233
+ let(:agg_users) { ReeDaoAggTest::AggUsersBenchmark.new }
234
+ let(:users_sync_fetcher) { ReeDaoAggTest::UsersSyncFetcher.new }
235
+
236
+ let(:organizations) { ReeDaoAggTest::OrganizationsDao.new }
237
+ let(:users) { ReeDaoAggTest::Users.new }
238
+ let(:user_passports) { ReeDaoAggTest::UserPassports.new }
239
+ let(:books) { ReeDaoAggTest::Books.new }
240
+ let(:movies) { ReeDaoAggTest::Movies.new }
241
+ let(:videogames) { ReeDaoAggTest::Videogames.new }
242
+ let(:hobbies) { ReeDaoAggTest::Hobbies.new }
243
+ let(:vinyls) { ReeDaoAggTest::Vinyls.new }
244
+ let(:pets) { ReeDaoAggTest::Pets.new }
245
+ let(:skills) { ReeDaoAggTest::Skills.new }
246
+ let(:dreams) { ReeDaoAggTest::Dreams.new }
247
247
 
248
248
  before(:each) do
249
- organization = ReeDaoLoadAggTest::Organization.new(name: "Test Org")
249
+ organization = ReeDaoAggTest::Organization.new(name: "Test Org")
250
250
  organizations.put(organization)
251
251
 
252
252
  _users = []
@@ -255,7 +255,7 @@ RSpec.describe :load_agg do
255
255
  puts "Seeding #{NUM_OF_USERS} users..."
256
256
 
257
257
  NUM_OF_USERS.times do
258
- u = ReeDaoLoadAggTest::User.new(
258
+ u = ReeDaoAggTest::User.new(
259
259
  name: Faker::Name.name,
260
260
  age: rand(18..50),
261
261
  organization_id: organization.id
@@ -268,7 +268,7 @@ RSpec.describe :load_agg do
268
268
  _users.each do |user|
269
269
  ASSOC_COUNT.times do
270
270
  books.put(
271
- ReeDaoLoadAggTest::Book.new(
271
+ ReeDaoAggTest::Book.new(
272
272
  title: Faker::Book.title,
273
273
  user_id: user.id
274
274
  )
@@ -277,7 +277,7 @@ RSpec.describe :load_agg do
277
277
 
278
278
  ASSOC_COUNT.times do
279
279
  movies.put(
280
- ReeDaoLoadAggTest::Movie.new(
280
+ ReeDaoAggTest::Movie.new(
281
281
  user_id: user.id,
282
282
  title: Faker::Movie.title
283
283
  )
@@ -286,7 +286,7 @@ RSpec.describe :load_agg do
286
286
 
287
287
  ASSOC_COUNT.times do
288
288
  videogames.put(
289
- ReeDaoLoadAggTest::Videogame.new(
289
+ ReeDaoAggTest::Videogame.new(
290
290
  user_id: user.id,
291
291
  title: Faker::Game.title
292
292
  )
@@ -295,7 +295,7 @@ RSpec.describe :load_agg do
295
295
 
296
296
  ASSOC_COUNT.times do
297
297
  hobbies.put(
298
- ReeDaoLoadAggTest::Hobby.new(
298
+ ReeDaoAggTest::Hobby.new(
299
299
  user_id: user.id,
300
300
  title: Faker::Hobby.activity
301
301
  )
@@ -304,7 +304,7 @@ RSpec.describe :load_agg do
304
304
 
305
305
  ASSOC_COUNT.times do
306
306
  vinyls.put(
307
- ReeDaoLoadAggTest::Vinyl.new(
307
+ ReeDaoAggTest::Vinyl.new(
308
308
  user_id: user.id,
309
309
  title: Faker::Music.band
310
310
  )
@@ -313,7 +313,7 @@ RSpec.describe :load_agg do
313
313
 
314
314
  ASSOC_COUNT.times do
315
315
  pets.put(
316
- ReeDaoLoadAggTest::Pet.new(
316
+ ReeDaoAggTest::Pet.new(
317
317
  user_id: user.id,
318
318
  name: Faker::Creature::Animal.name
319
319
  )
@@ -322,7 +322,7 @@ RSpec.describe :load_agg do
322
322
 
323
323
  ASSOC_COUNT.times do
324
324
  skills.put(
325
- ReeDaoLoadAggTest::Skill.new(
325
+ ReeDaoAggTest::Skill.new(
326
326
  user_id: user.id,
327
327
  title: Faker::Job.key_skill
328
328
  )
@@ -331,7 +331,7 @@ RSpec.describe :load_agg do
331
331
 
332
332
  ASSOC_COUNT.times do
333
333
  dreams.put(
334
- ReeDaoLoadAggTest::Dream.new(
334
+ ReeDaoAggTest::Dream.new(
335
335
  user_id: user.id,
336
336
  description: Faker::ChuckNorris.fact
337
337
  )
@@ -340,7 +340,7 @@ RSpec.describe :load_agg do
340
340
 
341
341
  ASSOC_COUNT.times do
342
342
  user_passports.put(
343
- ReeDaoLoadAggTest::UserPassport.new(
343
+ ReeDaoAggTest::UserPassport.new(
344
344
  user_id: user.id,
345
345
  info: "Passport info #{user.id}"
346
346
  )
@@ -358,12 +358,12 @@ RSpec.describe :load_agg do
358
358
 
359
359
  benchmark_res = Benchmark.bm do |x|
360
360
  x.report("async_load_agg") do
361
- res1 = users_agg.call(users.all.map(&:id))
361
+ res1 = agg_users.call(users.all.map(&:id))
362
362
  end
363
363
 
364
364
  x.report("sync_load_agg ") do
365
365
  ENV['REE_DAO_SYNC_ASSOCIATIONS'] = "true"
366
- res2 = users_agg.call(users.all.map(&:id))
366
+ res2 = agg_users.call(users.all.map(&:id))
367
367
  ENV.delete('REE_DAO_SYNC_ASSOCIATIONS')
368
368
  end
369
369