Sha256: 06031dad11b8e8e10c2a1915fa5b38fd37b1e3547c8d04e0dcdd46517b0e96a7

Contents?: true

Size: 1.46 KB

Versions: 40

Compression:

Stored size: 1.46 KB

Contents

class ConvertMessageRecipientsToRecipientQueries < ActiveRecord::Migration[5.1]
  CONVERSION_MAPPING = {
    "bus-list-cornell-bing"            => ["bus-list", 1],
    "bus-list-buffalo"                 => ["bus-list", 2],
    "bus-list-albany"                  => ["bus-list", 3],
    "bus-list-cornell-bing-eligible"   => ["bus-list--eligible", 1],
    "bus-list-buffalo-eligible"        => ["bus-list--eligible", 2],
    "bus-list-albany-eligible"         => ["bus-list--eligible", 3],
    "bus-list-cornell-bing-applied"    => ["bus-list--applied", 1],
    "bus-list-buffalo-applied"         => ["bus-list--applied", 2],
    "bus-list-albany-applied"          => ["bus-list--applied", 3],
    "school-rit"                       => ["school", 2304],
    "school-cornell"                   => ["school", 2164],
    "school-binghamton"                => ["school", 5526],
    "school-buffalo"                   => ["school", 2345],
    "school-waterloo"                  => ["school", 5580],
    "school-toronto"                   => ["school", 5539],
    "school-umd-collegepark"           => ["school", 5543]
  }.freeze

  def up
    Message.all.each do |message|
      CONVERSION_MAPPING.to_a.each do |mapping|
        old = mapping[0]
        new_type = mapping[1][0]
        new_id = mapping[1][1]

        index = message.recipients.index(old)
        next if index.nil?

        message.recipients[index] = "#{new_type}::#{new_id}"
        message.save!
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
hackathon_manager-0.14.1 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.14.0 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.12 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.11 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.10 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.9 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.8 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.7 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.6 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.5 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.4 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.3 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.2 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.1 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.13.0 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.12.2 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.12.1 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.12.0 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.11.2 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb
hackathon_manager-0.11.1 db/migrate/20180118035548_convert_message_recipients_to_recipient_queries.rb