Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Appearance < ApplicationRecord
- belongs_to :queen
- belongs_to :episode
- def get_appearances
- #### iterate through each season, pulling episode ids and setting the index of each iterative episodes' ranks
- Season.all.each do |season|
- season.episodes.each.with_index do |episode, index|
- episode_id = episode.id
- rank_index = index + 2
- #### clean the contestants array for Appearance creation
- contestants = episode.contestants.split(", ").map do |contestant|
- contestant.gsub(/[^0-9a-z%&!\n\/(). ]/i, '').strip
- end
- contestants = contestants.in_groups_of(season.episodes.length + 1)
- #### iterate through the array of contestants to create an Appearance for each Episode
- contestants.map do |contestant|
- Appearance.create(
- episode_id: episode_id,
- #### use the contestants list as it appeared on the season's Fandom page to find the corresponding Queens
- queen_id: Queen.find_or_create_by(drag_name: contestant[0]).id,
- #### set the queen's numerical rank for her appearance in each episode
- rank: contestant[rank_index]
- )
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement