karhatsu / hirviurheilu

Hirviurheilu - tulospalvelu Metsästäjäliiton urheilulajeille
http://www.hirviurheilu.com
4 stars 1 forks source link

Viestihyvitys #45

Closed jkpj closed 13 years ago

jkpj commented 13 years ago

Kyllä tuo "korjaus" hyvityksen nimenä kuitenkin näyttää varsin toimivalta, mutta harkitse miltä sinusta näyttää.

karhatsu commented 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.

jkpj commented 13 years ago

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ä).

karhatsu commented 13 years ago

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:31:in `leg_results'

 # ./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:31:in `leg_results'

 # ./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.

jkpj commented 13 years ago

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.

karhatsu commented 13 years ago

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.

jkpj commented 13 years ago

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.

jkpj commented 13 years ago

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.

karhatsu commented 13 years ago

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ä).