aboutsummaryrefslogtreecommitdiffstats
path: root/db/seeds/seed_helpers.rb
diff options
context:
space:
mode:
authorAlban Peignier2018-03-30 13:26:09 +0200
committerGitHub2018-03-30 13:26:09 +0200
commit3491a4a922d22d88803ef98b95cf93f45acbfd63 (patch)
treef0137d631072483576ce17005b09815b862a20fc /db/seeds/seed_helpers.rb
parent9e3b1457d737092fc2b220ac9678407dcafcaf93 (diff)
parentf8f300c203d517fbc92ff2c6a4bc523357b9303c (diff)
downloadchouette-core-3491a4a922d22d88803ef98b95cf93f45acbfd63.tar.bz2
Merge pull request #410 from af83/6328-check-seeds
Improve (try to -) seeds. Refs #6328
Diffstat (limited to 'db/seeds/seed_helpers.rb')
-rw-r--r--db/seeds/seed_helpers.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/db/seeds/seed_helpers.rb b/db/seeds/seed_helpers.rb
new file mode 100644
index 000000000..8e47e10bd
--- /dev/null
+++ b/db/seeds/seed_helpers.rb
@@ -0,0 +1,12 @@
+class ActiveRecord::Base
+ def self.seed_by(key_attribute, &block)
+ model = find_or_create_by! key_attribute
+ print "Seed #{name} #{key_attribute.inspect} "
+ yield model
+
+ puts "[#{(model.changed? ? 'updated' : 'no change')}]"
+ model.save!
+
+ model
+ end
+end