seed_reaper 0.0.11 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5280bac77c80e43889017709b2bf0337e3723b16a327f78382d8994d9b0ee40
4
- data.tar.gz: 36c9cd206f8a10243554268b29233558cb9bd39b9d71a0af51e1c397a98f381b
3
+ metadata.gz: a4f3dace9111c48d22149e28a90bc21655123d381ac7170aa9badc4f6aade5ce
4
+ data.tar.gz: 5cca4d06142973912e9d57d1c0335513319e1de71c3748ea02262a56574d1aa6
5
5
  SHA512:
6
- metadata.gz: 9dead8ed048863e62f9a0286b486bbf494602970d171671bdbe2eed43ff0eb7454297113e68947f8758db0375f3f297574c60ccdec3e0ccaf9b042d3238df4a8
7
- data.tar.gz: 11715f9d395c61bd36b12ddccceef6e5d03b15f584b244bf7d32d3a1660bba2fb2598558ed869a921dd65cd39953ffbedecd6a7cde691bc32fa877c3b6fa4e6b
6
+ metadata.gz: be381e9b5bffb75a319b87c417f3116f902a88b98b8e3c62a47bc7a64eb9c151602065668cd13e09c322326bc7b1265c530bbb1bbbd237e6edff9c604e1dd5b1
7
+ data.tar.gz: 1b7da6b8f71fcb762707481d94e6f513c92cae46c94e6ed2f3f5a8bd1d40ed245f5f05aea7cb725b80826da03603fd8c49f188497de88c71b53e53d7a0510fb5
@@ -7,7 +7,7 @@ module SeedReaper
7
7
  end
8
8
 
9
9
  def write!
10
- FileUtils.rm_rf('db/seeds/.', secure: true)
10
+ FileUtils.rm_rf(Dir.glob('db/seeds/*'), secure: true)
11
11
 
12
12
  @config.each_with_index do |element, i|
13
13
  File.open("db/seeds/#{i.to_s.rjust(@config.count.digits.count, '0')}_#{file_name(element)}.seeds.rb", 'w') do |file|
@@ -38,21 +38,24 @@ module SeedReaper
38
38
  end
39
39
 
40
40
  def seedify_table_only(name)
41
+ model = (
42
+ Class.new(ActiveRecord::Base) do
43
+ self.table_name = name
44
+ end
45
+ )
46
+
47
+ return unless model.exists?
48
+
41
49
  <<~UPSERT
42
50
  (
43
51
  Class.new(ActiveRecord::Base) do
44
52
  self.table_name = :#{name}
45
53
  end
46
- ).upsert_all([
54
+ ).insert_all([
47
55
  #{
48
56
  [].tap do |attr_hashes|
49
- (
50
- Class.new(ActiveRecord::Base) do
51
- self.table_name = name
52
- end
53
- ).find_each do |i|
54
- attr_hashes << "{ #{serialize_upsert_attrs(i)} }"
55
- end
57
+ add_hash = ->(i) { attr_hashes << "{ #{serialize_insert_attrs(i)} }" }
58
+ model.primary_key ? model.find_each(&add_hash) : model.all.each(&add_hash)
56
59
  end.join(",\n\s\s")
57
60
  }
58
61
  ])
@@ -133,7 +136,7 @@ module SeedReaper
133
136
  end[0...-2]
134
137
  end
135
138
 
136
- def serialize_upsert_attrs(instance)
139
+ def serialize_insert_attrs(instance)
137
140
  instance.attributes.to_h.map do |(k, v)|
138
141
  "#{k}: #{ValueSerializer.new(v).serialized}"
139
142
  end.join(', ')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SeedReaper
4
- VERSION = '0.0.11'
4
+ VERSION = '0.0.14'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seed_reaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Butts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-15 00:00:00.000000000 Z
11
+ date: 2022-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport