active_record_data_loader 1.0.0 → 1.2.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 (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:"