diff options
| author | Alban Peignier | 2018-03-30 13:10:58 +0200 |
|---|---|---|
| committer | Alban Peignier | 2018-03-30 13:11:42 +0200 |
| commit | f8f300c203d517fbc92ff2c6a4bc523357b9303c (patch) | |
| tree | f0137d631072483576ce17005b09815b862a20fc /db/seeds/seed_helpers.rb | |
| parent | 97175d1f5ff61bb32fa70a15aae753de8e117658 (diff) | |
| download | chouette-core-f8f300c203d517fbc92ff2c6a4bc523357b9303c.tar.bz2 | |
Create seed_helpers to provide seed_by method. Refs #63286328-check-seeds
Diffstat (limited to 'db/seeds/seed_helpers.rb')
| -rw-r--r-- | db/seeds/seed_helpers.rb | 12 |
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 |
