README

2.2.3. Questions Maintenant que ta BDD est prête, tu vas répondre aux questions ci-dessous :

a) Niveau facile

Quel est le nombre total d'objets Album contenus dans la base (sans regarder les id bien sûr) ? Album.count 347

Qui est l'auteur de la chanson "White Room" ? Track.find_by(title:"White Room").artist Eric Clapton

Quelle chanson dure exactement 188133 milliseconds ? Track.find_by(duration:188133).title Perfect

Quel groupe a sorti l'album "Use Your Illusion II" Album.find_by(title:"Use Your Illusion II").artist Guns N Roses

b) Niveau Moyen

Combien y a t'il d'albums dont le titre contient "Great" ? (indice) Album.where("title like ?", "%great%").count 13

Supprime tous les albums dont le nom contient "music". Album.where("title like ?", "%music%").destroy_all

Combien y a t'il d'albums écrits par AC/DC ? Album.where("artist like ?", "%AC/DC%").count 2

Combien de chanson durent exactement 158589 millisecondes ? Track.where(duration: 158589).count 0

c) Niveau Difficile

Pour ces questions, tu vas devoir effectuer des boucles dans la console Rails. C'est peu commun mais c'est faisable, tout comme dans IRB.

puts en console tous les titres de AC/DC.

Track.where(artist: "AC/DC").each do |track| puts track.title end For Those About To Rock (We Salute You) Put The Finger On You Lets Get It Up Inject The Venom Snowballed Evil Walks C.O.D. Breaking The Rules Night Of The Long Knives Spellbound Go Down Dog Eat Dog Let There Be Rock Bad Boy Boogie Problem Child Overdose Hell Aint A Bad Place To Be Whole Lotta Rosie

puts en console tous les titres de l'album "Let There Be Rock".

Track.where(album: "Let There Be Rock").each do |track| puts track.title end Go Down Dog Eat Dog Let There Be Rock Bad Boy Boogie Problem Child Overdose Hell Aint A Bad Place To Be Whole Lotta Rosie

Calcule le prix total de cet album ainsi que sa durée totale. Track.where(album: "Let There Be Rock").each do |i| puts price += i.price puts duration += i.duration end

7.920000000000001 2453259

Calcule le coût de l'intégralité de la discographie de "Deep Purple". 2.5.1 :017 > Track.where(artist: "Deep Purple").each do |i| 2.5.1 :018 > puts price += i.price 2.5.1 :019?> end

90.0899999999999

Modifie (via une boucle) tous les titres de "Iron Maiden" afin qu'ils soient affichés avec "Britney Spears" en artist.

2.5.1 :001 > Track.where(artist: "Eric Clapton").each do |i| 2.5.1 :002 > i.update(artist: "Britney Spears") 2.5.1 :003?> end