planter 0.3.1 → 0.3.3

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: 614708b40282210c22481fa034353b7ab8eddae2b8a57bfeccb31893299f06dd
4
+ data.tar.gz: f24ddfae10b8cf2f6aff25fede2293ac5d393c20c3364589e47159d325a40024
5
5
  SHA512:
6
- metadata.gz: 9e0cc2ee033b08758a758603f0b5adca889d574ac0e0621f1e477df5e7e50c77999249dc7a3b3c1b903b49d943d41cea9e8854df084baccad17a14cb56782677
7
- data.tar.gz: 406e467003521d49d94ff14a0e876d99cc629ffed0f557d67f92cd56b7781d8a850c3bcf96296ddc0fd9a93482adff839b25590ee39c0c5612adcb1c8f35d295
6
+ metadata.gz: 925e60daff983ba493f9fb56734cf379c398117c87371caf0e83148531a229f9b86ced00725f84267cd93cbae7f82bac2e0c832b6bdb1638d26f91f3de8e137d
7
+ data.tar.gz: 387d8a859135f5ff7baac0abc4811b54a44701b7be258e669cbf40a67e10561cf9831cc99cdd14d6be2c02220b9eb64fbf30dd7af919b6974eb7d5df3409a90b
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.3'
27
27
  ```
28
28
 
29
29
  And then execute:
@@ -250,28 +250,30 @@ 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:
274
- case seed_method.intern
276
+ case seed_method&.intern
275
277
  when :csv
276
278
  raise "Couldn't find csv for #{model}" unless full_csv_name
277
279
  when :data_array
@@ -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 = 3
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.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Gray
@@ -57,6 +57,20 @@ dependencies:
57
57
  - - "<"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '2.0'
60
+ - !ruby/object:Gem::Dependency
61
+ name: simplecov
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.22.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 0.22.0
60
74
  - !ruby/object:Gem::Dependency
61
75
  name: standard
62
76
  requirement: !ruby/object:Gem::Requirement