From 987b3e0d151d58c6b44e16e3ec4d13ce7f303fe7 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 27 Apr 2014 03:04:09 -0400 Subject: get the tournament creation page complete --- app/models/tournament.rb | 3 ++- app/views/tournaments/_form.html.erb | 4 ++-- lib/sampling/double_blind.rb | 30 +++++++++++++++++++++++++++++- lib/sampling/manual.rb | 7 ++++--- 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/app/models/tournament.rb b/app/models/tournament.rb index 47cda7e..97eee57 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -107,7 +107,7 @@ class Tournament < ActiveRecord::Base end def sampling_methods - make_methods("sampling").collect do |name| + make_methods("sampling").select do |name| "Sampling::#{name.camelcase}".constantize.works_with?(self.game) end end @@ -120,6 +120,7 @@ class Tournament < ActiveRecord::Base make_methods "seeding" end + private def make_methods(dir) @@methods ||= {} if @@methods[dir].nil? or Rails.env.development? diff --git a/app/views/tournaments/_form.html.erb b/app/views/tournaments/_form.html.erb index 78ceca4..b8d6fc1 100644 --- a/app/views/tournaments/_form.html.erb +++ b/app/views/tournaments/_form.html.erb @@ -83,9 +83,9 @@
Stages - + <% for i in 1..(params[:num_stages].to_i) do %> - <%= fields_for "tournament[stages][#{i}]", @tournament.stages do |stage_fields| %> + <%= fields_for "tournament[stages][#{i}]", @tournament.stages[i] do |stage_fields| %>
Stage <%= i %> <%= stage_fields.label :scheduling_method %> <%= stage_fields.select(:scheduling_method, @tournament.scheduling_methods.map{|method| [method.humanize, method]}) %> diff --git a/lib/sampling/double_blind.rb b/lib/sampling/double_blind.rb index 4a5201c..409da10 100644 --- a/lib/sampling/double_blind.rb +++ b/lib/sampling/double_blind.rb @@ -1,7 +1,35 @@ module Sampling module DoubleBlind - def works_with?(game) + def self.works_with?(game) return true end + + def self.uses_remote? + return false + end + + def self.set_remote_name(user, game, value) + raise "This sampling method doesn't use remote usernames." + end + + def self.get_remote_name(value) + raise "This sampling method doesn't use remote usernames." + end + + def self.sampling_start(match) + # TODO + end + + def self.sampling_done?(match) + # TODO + end + + def self.render_user_interaction(match, user) + # TODO + end + + def self.handle_user_interaction(match, user, sampling_params) + # TODO + end end end diff --git a/lib/sampling/manual.rb b/lib/sampling/manual.rb index 17c8104..a1bf9a5 100644 --- a/lib/sampling/manual.rb +++ b/lib/sampling/manual.rb @@ -1,5 +1,5 @@ module Sampling - module HostEntry + module Manual def self.works_with?(game) return true end @@ -25,11 +25,12 @@ module Sampling end def self.render_user_interaction(match, user) - + # TODO end def self.handle_user_interaction(match, user, sampling_params) - match.statistics.create(user: nil, name: "blowout", + # TODO + #match.statistics.create(user: nil, name: "blowout", end end end -- cgit v1.1-4-g5e80