planter 0.3.1 → 0.3.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/README.md +1 -1
- data/lib/planter/seeder.rb +12 -10
- data/lib/planter/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cbae89995fbeb940ff4ddb50b0f8a498963d84a2a7666d9d6542786c912fb455
|
|
4
|
+
data.tar.gz: d2e4e7c56c11b5ce5439baf13df756ad506d0ac50089334e8fa2ebea39a9c757
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 412a63aad94073f9140d57b9271c3900392a6f528431ce54b1a9c2303b3fa1c1553a00b1a5e2d8b0f221b9c6d328ab95720d451b2224e44a24216808522636e3
|
|
7
|
+
data.tar.gz: 73edbbebe39d0759c053eee8f09d2b3ea0267b7533aa720b563faaddc9582be7bec451c87221404bd8b2d58f163d12f12257694cf28203c7e6b4121b3353567a
|
data/README.md
CHANGED
data/lib/planter/seeder.rb
CHANGED
|
@@ -250,24 +250,26 @@ module Planter
|
|
|
250
250
|
##
|
|
251
251
|
# Creates records from the +data+ attribute.
|
|
252
252
|
def create_records
|
|
253
|
-
|
|
253
|
+
number_of_records.times do
|
|
254
|
+
data.each { |record| create_record(record) }
|
|
255
|
+
end
|
|
254
256
|
end
|
|
255
257
|
|
|
256
258
|
##
|
|
257
259
|
# Create records from the +data+ attribute for each record in the +parent+.
|
|
258
260
|
def create_records_from_parent
|
|
259
261
|
parent_model.constantize.pluck(primary_key).each do |parent_id|
|
|
260
|
-
|
|
262
|
+
number_of_records.times do
|
|
263
|
+
data.each { |record| create_record(record, parent_id: parent_id) }
|
|
264
|
+
end
|
|
261
265
|
end
|
|
262
266
|
end
|
|
263
267
|
|
|
264
268
|
def create_record(record, parent_id: nil)
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
).first_or_create!(attrs)
|
|
270
|
-
end
|
|
269
|
+
unique, attrs = split_record(apply_transformations(record))
|
|
270
|
+
model.constantize.where(
|
|
271
|
+
unique.tap { |u| u[foreign_key] = parent_id if parent_id }
|
|
272
|
+
).first_or_create!(attrs)
|
|
271
273
|
end
|
|
272
274
|
|
|
273
275
|
def validate_attributes # :nodoc:
|
|
@@ -305,8 +307,8 @@ module Planter
|
|
|
305
307
|
def split_record(rec) # :nodoc:
|
|
306
308
|
return [rec, {}] unless unique_columns
|
|
307
309
|
|
|
308
|
-
u = unique_columns.each_with_object({}) { |c, h| h[c] = rec
|
|
309
|
-
[u, rec]
|
|
310
|
+
u = unique_columns.each_with_object({}) { |c, h| h[c] = rec[c] }
|
|
311
|
+
[u, rec.except(*unique_columns)]
|
|
310
312
|
end
|
|
311
313
|
|
|
312
314
|
def association_options
|
data/lib/planter/version.rb
CHANGED