Closed jkpj closed 13 years ago
Quick save ei toimi, koska luokka RelayAdjustmentQuickSave (ja sen spec) puuttuu. Itse on olisi välttämättä sitä tehnyt ollenkaan, koska korjaus on niin harvinainen tilanne, ettei sitä tarvitse nopeasti päästä syöttämään. Eli ensisijaisesti laittaisin sen viestilomakkeeseen muiden kilpailijatietojen perään.
Commitoin puuttuvat tiedostot.
Minä taas ajattelin niin, että korjaukset ovat sen verran harvinaisia, että en laita niitä kuormittamaan jo nyt kovin leveää viestilomaketta. Ja että olisi vähän hassua että lomakkeessa olisi ajan korjaus kun siellä ei ole myöskään saapumisajan syöttöä, josta syystä toimitsija myös osaa etsiä korjausajan syöttöä pikasyötön puolelta (siis kun myös saapumisajan syöttö tapahtuu sieltä).
Käypä perustelu tuokin.
Nyt vaan ei mene testit läpi: 1) Relay results when teams#results should return the teams based on the fastest arrival time of the competitors for the last leg and secondary by team number Failure/Error: @relay.results.should == [@team1, @team3, @team2, @team4, @team_DNS, @team_DNF] You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.<=>
# ./app/models/relay.rb:29:in`leg_results'
# ./app/models/relay.rb:24:in `results'
# ./spec/models/relay_spec.rb:160
2) Relay results when teams#leg_results should return the teams based on the fastest arrival time of the competitors for the given leg and secondary by team number Failure/Error: @relay.leg_results(1).should == You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.<=>
# ./app/models/relay.rb:29:in`leg_results'
# ./spec/models/relay_spec.rb:167
Sitten pari muuta juttua:
Muuten tämä(kin) on tosi hyvin tehty.
No kappas, kyllä testit mielestäni menivät läpi silloin kun viimeiset commitit tein. Mutta hmm, saattoikin olla että nuo muut testit jäivät tsekkaamatta viimeisten committien kohdalla, koska minulla on riesana ollut autotestin kanssa tänään "SQLite3::BusyException: database is locked: INSERT INTO "sports"..." joka generoi ison liudan virheitä, ehkä unohtui ajaa uudestaan tuon jälkeen. (ctrl-c:n jälkeen autotest ajaa uudelleen ja silloin yleensä onnistuu ilman bysuexceptionia).
Katselen varmaankin vielä jossain vaiheessa tänään, nyt hiukan taukoa.
Eihän sinulla ole yhtä aikaa vaikkapa rake spec ja autotest päällä? Minulle on tullut tuo virhe joskus, kun olen ajanut toisessa ikkunassa autotest ja toisessa autotest featureiden kanssa. Molemmat käyttävät samaa test-kantaa, joten siitä seuraa tietokantalukko.
Korjasin lajittelun, nyt menee testi läpi. Autotest-lukko-ongelma oli yksinkertainen, oli jäänyt toinen autotest pyörimään toiseen ikkunaan.
Korjaan vielä nuo pari muuta juttua.
Kiitos taas vinkeistä, mielessä olikin tuo time_from_secondsin muokkaaminen, muttei äkkivilkaisulla heti löytynyt missä se on.
Nyt on nuo muutkin jutut tehty, toivottavati merge masteriin tuolla välissä ei sotke sinun mergeäsi.
Siellä oli pari html-virhettä () puuttui, ja lisäsin myös kilpailijariville adjustment-tyyliluokan. Suljen tämän mutta jos yhtään viitsit, niin voisit vielä katsoa niitä pitkiä show-rivejä hieman.
Ensinnäkin olen pyrkinyt pitämään rivin pituuden n. 80-90 merkissä, jotta koodia ei tarvitse sivusuunnassa vierittää pienemmillä näytöillä (kuten omalla läppärillä). 80 on tavoite mutta jos menee alle 90, niin ok.
Sitten kun kerran ollaan skripti-kielessä, niin on mahdollista kutsua helper-metodia print_adjustment_time(adjustment_holder) sekä relay_team- että relay_competitor-parametrilla. Kun molemmissa kerran on saman niminen adjustment-metodi. Tuollaisella metodilla saisi koko span:n hoidettua keskitetysti ja view-koodista tulisi paljon siistimpää. Tällä hetkellä koodissa on paljon toistoa, koska samaa tavaraa on kolmessa paikassa: legs/show ja relays/show (2 riviä).
Kyllä tuo "korjaus" hyvityksen nimenä kuitenkin näyttää varsin toimivalta, mutta harkitse miltä sinusta näyttää.