active_record_data_loader 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +51 -0
  3. data/.github/workflows/gem-push.yml +29 -0
  4. data/.rubocop.yml +39 -6
  5. data/CHANGELOG.md +42 -0
  6. data/Gemfile.lock +68 -66
  7. data/README.md +91 -8
  8. data/Rakefile +8 -2
  9. data/active_record_data_loader.gemspec +8 -5
  10. data/config/database.yml +9 -0
  11. data/docker-compose.yml +18 -0
  12. data/gemfiles/activerecord_6.gemfile +1 -1
  13. data/lib/active_record_data_loader/active_record/belongs_to_configuration.rb +1 -1
  14. data/lib/active_record_data_loader/active_record/column_configuration.rb +14 -4
  15. data/lib/active_record_data_loader/active_record/datetime_value_generator.rb +21 -0
  16. data/lib/active_record_data_loader/active_record/enum_value_generator.rb +28 -5
  17. data/lib/active_record_data_loader/active_record/integer_value_generator.rb +2 -2
  18. data/lib/active_record_data_loader/active_record/model_data_generator.rb +15 -2
  19. data/lib/active_record_data_loader/active_record/per_row_value_cache.rb +33 -0
  20. data/lib/active_record_data_loader/active_record/polymorphic_belongs_to_configuration.rb +1 -1
  21. data/lib/active_record_data_loader/active_record/text_value_generator.rb +1 -1
  22. data/lib/active_record_data_loader/bulk_insert_strategy.rb +4 -3
  23. data/lib/active_record_data_loader/configuration.rb +45 -3
  24. data/lib/active_record_data_loader/connection_handler.rb +74 -0
  25. data/lib/active_record_data_loader/connection_output_adapter.rb +20 -0
  26. data/lib/active_record_data_loader/copy_strategy.rb +20 -20
  27. data/lib/active_record_data_loader/file_output_adapter.rb +40 -0
  28. data/lib/active_record_data_loader/loader.rb +11 -27
  29. data/lib/active_record_data_loader/version.rb +1 -1
  30. data/lib/active_record_data_loader.rb +26 -14
  31. metadata +60 -11
  32. data/.travis.yml +0 -23
  33. data/config/database.yml.travis +0 -7
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_data_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Beiderman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-15 00:00:00.000000000 Z
11
+ date: 2021-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4.0'
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: appraisal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.16'
55
55
  - !ruby/object:Gem::Dependency
56
- name: coveralls
56
+ name: mysql2
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '12.0'
103
+ version: '13.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '12.0'
110
+ version: '13.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,34 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
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'
167
+ - !ruby/object:Gem::Dependency
168
+ name: simplecov-lcov
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: sqlite3
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +192,20 @@ dependencies:
164
192
  - - ">="
165
193
  - !ruby/object:Gem::Version
166
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: timecop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
167
209
  description: A utility to bulk load test data for performance testing.
168
210
  email:
169
211
  - abeiderman@gmail.com
@@ -173,11 +215,13 @@ executables:
173
215
  extensions: []
174
216
  extra_rdoc_files: []
175
217
  files:
218
+ - ".github/workflows/build.yml"
219
+ - ".github/workflows/gem-push.yml"
176
220
  - ".gitignore"
177
221
  - ".rspec"
178
222
  - ".rubocop.yml"
179
- - ".travis.yml"
180
223
  - Appraisals
224
+ - CHANGELOG.md
181
225
  - CODE_OF_CONDUCT.md
182
226
  - Gemfile
183
227
  - Gemfile.lock
@@ -188,7 +232,7 @@ files:
188
232
  - bin/console
189
233
  - bin/setup
190
234
  - config/database.yml
191
- - config/database.yml.travis
235
+ - docker-compose.yml
192
236
  - gemfiles/.bundle/config
193
237
  - gemfiles/activerecord_5.gemfile
194
238
  - gemfiles/activerecord_6.gemfile
@@ -198,19 +242,24 @@ files:
198
242
  - lib/active_record_data_loader.rb
199
243
  - lib/active_record_data_loader/active_record/belongs_to_configuration.rb
200
244
  - lib/active_record_data_loader/active_record/column_configuration.rb
245
+ - lib/active_record_data_loader/active_record/datetime_value_generator.rb
201
246
  - lib/active_record_data_loader/active_record/enum_value_generator.rb
202
247
  - lib/active_record_data_loader/active_record/integer_value_generator.rb
203
248
  - lib/active_record_data_loader/active_record/model_data_generator.rb
249
+ - lib/active_record_data_loader/active_record/per_row_value_cache.rb
204
250
  - lib/active_record_data_loader/active_record/polymorphic_belongs_to_configuration.rb
205
251
  - lib/active_record_data_loader/active_record/text_value_generator.rb
206
252
  - lib/active_record_data_loader/bulk_insert_strategy.rb
207
253
  - lib/active_record_data_loader/configuration.rb
254
+ - lib/active_record_data_loader/connection_handler.rb
255
+ - lib/active_record_data_loader/connection_output_adapter.rb
208
256
  - lib/active_record_data_loader/copy_strategy.rb
209
257
  - lib/active_record_data_loader/data_faker.rb
210
258
  - lib/active_record_data_loader/dsl/belongs_to_association.rb
211
259
  - lib/active_record_data_loader/dsl/definition.rb
212
260
  - lib/active_record_data_loader/dsl/model.rb
213
261
  - lib/active_record_data_loader/dsl/polymorphic_association.rb
262
+ - lib/active_record_data_loader/file_output_adapter.rb
214
263
  - lib/active_record_data_loader/loader.rb
215
264
  - lib/active_record_data_loader/version.rb
216
265
  - log/.keep
@@ -227,14 +276,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
227
276
  requirements:
228
277
  - - ">="
229
278
  - !ruby/object:Gem::Version
230
- version: 2.3.0
279
+ version: 2.5.0
231
280
  required_rubygems_version: !ruby/object:Gem::Requirement
232
281
  requirements:
233
282
  - - ">="
234
283
  - !ruby/object:Gem::Version
235
284
  version: '0'
236
285
  requirements: []
237
- rubygems_version: 3.0.3
286
+ rubygems_version: 3.0.3.1
238
287
  signing_key:
239
288
  specification_version: 4
240
289
  summary: A utility to bulk load test data for performance testing.
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- env:
4
- - COVERALLS_PARALLEL=true
5
- rvm:
6
- - 2.3.8
7
- - 2.4.6
8
- - 2.5.5
9
- - 2.6.3
10
- gemfile:
11
- - gemfiles/activerecord_5.gemfile
12
- - gemfiles/rails.gemfile
13
- - gemfiles/faker.gemfile
14
- - gemfiles/ffaker.gemfile
15
- services:
16
- - postgresql
17
- notifications:
18
- webhooks: https://coveralls.io/webhook
19
- before_install: "gem update --system && gem install bundler"
20
- before_script:
21
- - psql -c 'create database test;' -U postgres
22
- - cp config/database.yml.travis config/database.yml
23
- script: "bundle exec rake"
@@ -1,7 +0,0 @@
1
- postgres:
2
- adapter: "postgresql"
3
- database: "test"
4
-
5
- sqlite3:
6
- adapter: "sqlite3"
7
- database: ":memory:"