aboutsummaryrefslogtreecommitdiffstats
path: root/db/seeds/seed_helpers.rb
blob: 8e47e10bddf76bca0e30238ca9cfd0eb4535228d (plain)
1
2
3
4
5
6
7
8
9
10
11
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