From 64d4bd0d7bff0bf0e1c405bfa154f22775ca724e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 6 Mar 2014 21:31:18 -0500 Subject: use had_and_belongs_to_many --- app/models/tournament.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/tournament.rb') diff --git a/app/models/tournament.rb b/app/models/tournament.rb index 26dec72..0510864 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -1,8 +1,8 @@ class Tournament < ActiveRecord::Base belongs_to :game has_many :matches - has_many :user_tournament_pairs - has_many :users, :through => :user_tournament_pairs + has_and_belongs_to_many :players, class_name: "User", join_table: "tournaments_players" + has_and_belongs_to_many :hosts, class_name: "User", join_table: "tournaments_hosts" def open? return true -- cgit v1.2.3-2-g168b From 2bfc17c39f9b8b5ea71d36d2d5f041295f24192f Mon Sep 17 00:00:00 2001 From: Tomer Kimia Date: Thu, 6 Mar 2014 22:06:32 -0500 Subject: tournaments setup started. NOT FINISHED --- app/models/tournament.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'app/models/tournament.rb') diff --git a/app/models/tournament.rb b/app/models/tournament.rb index 26dec72..c359b1c 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -19,4 +19,17 @@ class Tournament < ActiveRecord::Base pair = UserTournamentPair.new(tournament: self, user: user) return pair.save end + + def setup + num_teams = (self.users.count/self.players_per_team).floor + num_matches = num_teams - 1 + for i in 0..num_matches + self.matches.create(name: "Match #{i}") + end + #self.players.each_slice(num_teams) do |team_players| + # Team.new(users: team_players) + #end + end + + end -- cgit v1.2.3-2-g168b From 4a91128f6fe20d95b6692abaa5e6c4dc92418b46 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Thu, 6 Mar 2014 22:14:58 -0500 Subject: fix the has_and_belongs_to_many relations --- app/models/tournament.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'app/models/tournament.rb') diff --git a/app/models/tournament.rb b/app/models/tournament.rb index 0510864..aa22afa 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -1,8 +1,8 @@ class Tournament < ActiveRecord::Base belongs_to :game has_many :matches - has_and_belongs_to_many :players, class_name: "User", join_table: "tournaments_players" - has_and_belongs_to_many :hosts, class_name: "User", join_table: "tournaments_hosts" + has_and_belongs_to_many :players, class_name: "User", association_foreign_key: "player_id", join_table: "players_tournaments" + has_and_belongs_to_many :hosts, class_name: "User", association_foreign_key: "host_id", join_table: "hosts_tournaments" def open? return true @@ -16,7 +16,6 @@ class Tournament < ActiveRecord::Base unless joinable_by?(user) return false end - pair = UserTournamentPair.new(tournament: self, user: user) - return pair.save + players<