Daniel Schädler
0e916b3ff9
Actually make singleton_methods private
...
(Rubocop told me so and I trust the police)
2019-05-13 13:57:23 +02:00
Daniel Schädler
fc6a7f2184
Save match_scores explicitly after changing them
2019-05-13 13:48:06 +02:00
Daniel Schädler
15c4c9bba3
Change the way, existing match_scores are handled
2019-05-13 13:48:06 +02:00
Daniel Schädler
79ffc62cbd
Move populating the match below to when the state is changed
2019-05-13 13:48:06 +02:00
Daniel Schädler
42428180d1
Rearrange methods in playoff_stage_service
2019-05-13 13:48:06 +02:00
Daniel Schädler
ea10e2b453
Rearrange new methods into one to split it otherwise
2019-05-13 13:48:06 +02:00
Daniel Schädler
599e36caa8
Improve Formatting in playoff_stage_service (I guess)
...
... Rubocop wanted it that way
2019-05-13 13:48:06 +02:00
Daniel Schädler
ccb16180b0
Fix second match winner advancing, even if match is not finished
2019-05-13 13:48:06 +02:00
Daniel Schädler
afd7438df3
Check for errors while populating the match below
2019-05-13 13:48:06 +02:00
Daniel Schädler
dd501ab818
Implement PopulateMatchBelow Interactor & Organizer
2019-05-13 13:48:06 +02:00
Daniel Schädler
ba707910c2
Implement populate_match_below method
2019-05-13 13:48:06 +02:00
Daniel Schädler
667d1bdc50
Call populate_match_below when a match is finished
2019-05-13 13:16:09 +02:00
Daniel Schädler
35c86f279d
Call calculate_group_points on Match_score Update
2019-05-13 13:16:09 +02:00
Daniel Schädler
28eb929fb9
Implement calculate_group_points method
2019-05-13 13:16:09 +02:00
Daniel Schädler
4f3407077c
Move group_match method to public methods
...
This is done in order to check if a match is a group match within
Matches Controller
2019-05-13 13:16:09 +02:00
Daniel Schädler
1304f86652
Add winner method to match
2019-05-13 13:16:09 +02:00
Daniel Schädler
5c6c496d74
Add evaluate winner method
2019-05-13 13:16:09 +02:00
Daniel Schädler
0483e59490
Change status of Match to only represent being finished
...
The winner will be a attribute of the Match instead of something
that is written in its status.
2019-05-13 13:16:09 +02:00
Daniel Schädler
96a9eff380
Remove unused evaluate status method
2019-05-13 13:16:09 +02:00
Daniel Schädler
ea8b888673
Generalize tournament save interactor
...
It now is responsible for saving all ApplicationRecord objects to the
database. This will reduce code duplication one we have other objects
that need to be saved. (As we will soon need to save individual matches)
2019-05-13 13:16:09 +02:00
Daniel Schädler
eea1bbde12
Remove link between team.owner and tournament
2019-05-13 13:12:44 +02:00
Thor77
27c4bcacc8
Respond with 501 for state param 'finished'
...
(501 = NOT IMPLEMENTED)
2019-05-07 18:41:53 +02:00
Thor77
3876f57d32
Add methods and specs to update a match
2019-05-07 18:41:53 +02:00
Thor77
436adde706
Set global match var for reuse by other methods
2019-05-07 18:41:52 +02:00
Thor77
1b9db61c22
Add owner method to Stage, Group and Match
2019-05-07 18:41:52 +02:00
Daniel Schädler
f7ed4b549d
Destroying all Readability.
...
Noone will ever be able to read this code again.
2019-05-04 20:54:08 +02:00
Daniel Schädler
23249ee93b
Build Matches without saving directly to database
2019-05-04 20:34:57 +02:00
Daniel Schädler
6a2c71bad7
Fix stage.team method not returning teams for playoff stages
2019-05-04 20:34:57 +02:00
Daniel Schädler
db1518bdbd
Raise exceptions upon error in group_stage_service
2019-05-04 20:34:57 +02:00
Daniel Schädler
bfadc7a6af
Dry out Tournaments Controller
2019-05-04 20:34:57 +02:00
Daniel Schädler
fdac71a9f1
Unnecessary variable assignment
2019-05-04 20:34:57 +02:00
Daniel Schädler
9053251706
Document group_stage generation parameter preparation
2019-05-04 20:34:57 +02:00
Daniel Schädler
f9b96cbee2
Indicate the groups variable being changed within the method
2019-05-04 20:34:57 +02:00
Daniel Schädler
74e9139b33
Removes unnecessary check
2019-05-04 20:34:57 +02:00
Daniel Schädler
acfc388da4
Implements group stage tournament creation
2019-05-04 20:34:57 +02:00
Daniel Schädler
f9b1b603f0
Permits "group_stage" as valid parameter for a create request
2019-05-04 20:34:57 +02:00
Daniel Schädler
a842e0db3c
Add group stage service
...
This service is responsible for all actions concerning the group stage
It returns false if no groups are given to generate_group_stage method
This prevents dividing by zero in the next line
2019-05-04 20:34:57 +02:00
Daniel Schädler
f7919ec0c6
Adds Organizer to Add a group stage to a tournament and save it
2019-05-04 20:34:57 +02:00
Daniel Schädler
83cd4ed340
Let Context Fail if there are any stages already in the tournament
2019-05-04 20:34:57 +02:00
Daniel Schädler
548d9241c4
Add Interactor to add group stage to a tournament
2019-05-04 20:34:57 +02:00
Daniel Schädler
26b8ff96c9
Add teams method to group,match,stage
...
It returns the unique teams that compete within the object
2019-05-04 20:34:57 +02:00
Thor77
2b72d0457e
Implement type parameter for tournaments index
2019-04-24 22:49:48 +02:00
Daniel Schädler
d3d572ea1b
Change return for 0 teams to exception
2019-04-23 14:21:29 +02:00
Daniel Schädler
a30ff860e9
Return a valid list of matches for 1 team
2019-04-23 14:19:36 +02:00
Daniel Schädler
38425df823
Only support stage count calculation for 1+ teams
2019-04-23 14:19:36 +02:00
Daniel Schädler
49a6545af9
Fix start point for stages with matchnumbers that are not powers of 2
2019-04-23 14:19:36 +02:00
Daniel Schädler
1c2d051364
Subtract one off required stages if the number of teams is a power of 2
...
This way we now calculate the right amount of stages for every number.
(I would test every number, but Jonas won't let me write tests for all of them..)
2019-04-23 14:19:36 +02:00
Thor77
22e547befa
Add validatable attribute to User model
...
to get email and password (existence) validation
2019-04-23 10:47:50 +02:00
Thor77
157844b4ae
Catch missing parameter exceptions to render error
2019-04-16 13:24:58 +02:00
Thor77
08d2ae59a5
Check teams array before calling create method
2019-04-16 13:24:58 +02:00