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 | |
| parent | 97175d1f5ff61bb32fa70a15aae753de8e117658 (diff) | |
| download | chouette-core-f8f300c203d517fbc92ff2c6a4bc523357b9303c.tar.bz2 | |
Create seed_helpers to provide seed_by method. Refs #63286328-check-seeds
| -rw-r--r-- | db/seeds/seed_helpers.rb | 12 | ||||
| -rw-r--r-- | db/seeds/stif.seeds.rb | 21 | 
2 files changed, 17 insertions, 16 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 diff --git a/db/seeds/stif.seeds.rb b/db/seeds/stif.seeds.rb index 0d97ec772..bb73b0b9c 100644 --- a/db/seeds/stif.seeds.rb +++ b/db/seeds/stif.seeds.rb @@ -1,33 +1,22 @@  # coding: utf-8 -class ActiveRecord::Base -  def self.create_or_update_by!(key_attribute, &block) -    model = find_or_create_by! key_attribute -    print "Seed #{name} #{key_attribute.inspect} " -    yield model +require_relative 'seed_helpers' -    puts "[#{(model.changed? ? 'updated' : 'no change')}]" -    model.save! - -    model -  end -end - -stif = Organisation.create_or_update_by!(code: "STIF") do |o| +stif = Organisation.seed_by(code: "STIF") do |o|    o.name = 'STIF'  end -stop_area_referential = StopAreaReferential.create_or_update_by!(name: "Reflex") do |r| +stop_area_referential = StopAreaReferential.seed_by(name: "Reflex") do |r|    r.objectid_format = "stif_netex"    r.add_member stif, owner: true  end -line_referential = LineReferential.create_or_update_by!(name: "CodifLigne") do |r| +line_referential = LineReferential.seed_by(name: "CodifLigne") do |r|    r.objectid_format = "stif_netex"    r.add_member stif, owner: true  end -workgroup = Workgroup.create_or_update_by!(name: "Gestion de l'offre théorique IDFm") do |w| +workgroup = Workgroup.seed_by(name: "Gestion de l'offre théorique IDFm") do |w|    w.line_referential      = line_referential    w.stop_area_referential = stop_area_referential    w.export_types          = ["Export::Netex"] | 
