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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f0d98e8ea31a8a9201a3afed80a5afec1adc64f0cd7eeb4687cf06fef6c7739
4
- data.tar.gz: 1b0be832a4a08b01dca63ce16515f060ab867c24c82d5628374d4c451029507e
3
+ metadata.gz: cbae89995fbeb940ff4ddb50b0f8a498963d84a2a7666d9d6542786c912fb455
4
+ data.tar.gz: d2e4e7c56c11b5ce5439baf13df756ad506d0ac50089334e8fa2ebea39a9c757
5
5
  SHA512:
6
- metadata.gz: 9e0cc2ee033b08758a758603f0b5adca889d574ac0e0621f1e477df5e7e50c77999249dc7a3b3c1b903b49d943d41cea9e8854df084baccad17a14cb56782677
7
- data.tar.gz: 406e467003521d49d94ff14a0e876d99cc629ffed0f557d67f92cd56b7781d8a850c3bcf96296ddc0fd9a93482adff839b25590ee39c0c5612adcb1c8f35d295
6
+ metadata.gz: 412a63aad94073f9140d57b9271c3900392a6f528431ce54b1a9c2303b3fa1c1553a00b1a5e2d8b0f221b9c6d328ab95720d451b2224e44a24216808522636e3
7
+ data.tar.gz: 73edbbebe39d0759c053eee8f09d2b3ea0267b7533aa720b563faaddc9582be7bec451c87221404bd8b2d58f163d12f12257694cf28203c7e6b4121b3353567a
data/README.md CHANGED
@@ -23,7 +23,7 @@ currently a pre-release version, it's recommended to lock it to a specific
23
23
  version, as breaking changes may occur, even at the minor level.
24
24
 
25
25
  ```ruby
26
- gem 'planter', '0.3.1'
26
+ gem 'planter', '0.3.2'
27
27
  ```
28
28
 
29
29
  And then execute:
@@ -250,24 +250,26 @@ module Planter
250
250
  ##
251
251
  # Creates records from the +data+ attribute.
252
252
  def create_records
253
- data.each { |record| create_record(record) }
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
- data.each { |record| create_record(record, parent_id: parent_id) }
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
- number_of_records.times do
266
- unique, attrs = split_record(apply_transformations(record))
267
- model.constantize.where(
268
- unique.tap { |u| u[foreign_key] = parent_id if parent_id }
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.delete(c) }
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
@@ -21,7 +21,7 @@ module Planter
21
21
  # Patch version.
22
22
  #
23
23
  # @return [Integer]
24
- PATCH = 1
24
+ PATCH = 2
25
25
 
26
26
  module_function
27
27
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: planter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Gray