diff options
-rw-r--r-- | Gemfile | 6 | ||||
-rw-r--r-- | Gemfile.lock | 2 | ||||
-rw-r--r-- | app/models/api_requests.rb | 2 | ||||
-rw-r--r-- | app/models/server_setting.rb | 2 | ||||
-rw-r--r-- | app/models/tournament.rb | 56 | ||||
-rw-r--r-- | app/models/tournament_preference.rb | 3 | ||||
-rw-r--r-- | app/models/tournament_setting.rb | 3 | ||||
-rw-r--r-- | app/views/tournaments/_selected.html.erb | 2 | ||||
-rw-r--r-- | db/migrate/20140410213844_create_server_settings.rb | 8 | ||||
-rw-r--r-- | db/migrate/20140410213857_create_tournament_preferences.rb | 12 | ||||
-rw-r--r-- | db/migrate/20140421103137_create_simple_captcha_data.rb (renamed from db/migrate/20140410173725_create_simple_captcha_data.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143140_create_delayed_jobs.rb (renamed from db/migrate/20140410213731_create_delayed_jobs.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143143_create_servers.rb (renamed from db/migrate/20140410213738_create_servers.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143146_create_matches.rb (renamed from db/migrate/20140410213745_create_matches.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143149_create_teams.rb (renamed from db/migrate/20140410213752_create_teams.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143152_create_alerts.rb (renamed from db/migrate/20140410213758_create_alerts.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143155_create_pms.rb (renamed from db/migrate/20140410213805_create_pms.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143158_create_tournaments.rb (renamed from db/migrate/20140410213811_create_tournaments.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143201_create_games.rb (renamed from db/migrate/20140410213818_create_games.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143204_create_users.rb (renamed from db/migrate/20140410213824_create_users.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143207_create_sessions.rb (renamed from db/migrate/20140410213831_create_sessions.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143210_create_brackets.rb (renamed from db/migrate/20140410213838_create_brackets.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143213_create_game_settings.rb (renamed from db/migrate/20140410213851_create_game_settings.rb) | 6 | ||||
-rw-r--r-- | db/migrate/20140421143216_create_tournament_settings.rb | 15 | ||||
-rw-r--r-- | db/migrate/20140421143219_create_scores.rb (renamed from db/migrate/20140410213903_create_scores.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143222_create_remote_usernames.rb (renamed from db/migrate/20140410213909_create_remote_usernames.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143225_create_bracket_matches.rb (renamed from db/migrate/20140410213916_create_bracket_matches.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143228_create_api_requests.rb | 9 | ||||
-rw-r--r-- | db/migrate/20140421143231_create_tournament_players_join_table.rb (renamed from db/migrate/20140410213922_create_tournament_players_join_table.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143234_create_tournament_hosts_join_table.rb (renamed from db/migrate/20140410213928_create_tournament_hosts_join_table.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143237_create_team_user_join_table.rb (renamed from db/migrate/20140410213935_create_team_user_join_table.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143239_create_match_team_join_table.rb (renamed from db/migrate/20140410213941_create_match_team_join_table.rb) | 0 | ||||
-rw-r--r-- | db/migrate/20140421143251_add_hidden_attrs_to_user.rb (renamed from db/migrate/20140410214006_add_hidden_attrs_to_user.rb) | 0 | ||||
-rw-r--r-- | db/schema.rb | 28 | ||||
-rw-r--r-- | db/seeds.rb | 2 | ||||
-rwxr-xr-x | generate.sh | 18 | ||||
-rw-r--r-- | lib/scoring_algorithms/FibonacciPeerWithBlowout.rb | 16 | ||||
-rw-r--r-- | lib/scoring_algorithms/MarginalPeer.rb | 15 | ||||
-rw-r--r-- | lib/scoring_algorithms/Recommended.rb | 8 | ||||
-rw-r--r-- | lib/scoring_algorithms/ScoringAlgorithm.rb | 8 | ||||
-rw-r--r-- | lib/scoring_algorithms/ScoringAlgorithms.rb | 28 | ||||
-rw-r--r-- | lib/scoring_algorithms/WinnerTakesAll.rb | 16 | ||||
-rw-r--r-- | test/fixtures/api_requests.yml | 7 | ||||
-rw-r--r-- | test/fixtures/game_settings.yml | 12 | ||||
-rw-r--r-- | test/fixtures/server_settings.yml | 11 | ||||
-rw-r--r-- | test/fixtures/tournament_settings.yml (renamed from test/fixtures/tournament_preferences.yml) | 10 | ||||
-rw-r--r-- | test/models/api_requests_test.rb (renamed from test/models/server_setting_test.rb) | 2 | ||||
-rw-r--r-- | test/models/tournament_setting_test.rb (renamed from test/models/tournament_preference_test.rb) | 2 |
48 files changed, 167 insertions, 142 deletions
@@ -12,9 +12,6 @@ gem 'httparty' gem 'simple_captcha2', require: 'simple_captcha' -#gem 'rmagick' -#gem 'byebug' - group :development, :test do # Use sqlite3 as the database for Active Record gem 'sqlite3' @@ -49,6 +46,7 @@ gem 'turbolinks' gem 'jbuilder', '~> 1.2' # Asynchronously handle longer or delayed tasks +gem 'daemons' gem 'delayed_job_active_record' group :doc do @@ -68,4 +66,4 @@ end # Use debugger # gem 'debugger', group: [:development, :test] -#gem 'byebug' +# gem 'byebug', group: [:development, :test] diff --git a/Gemfile.lock b/Gemfile.lock index fd03576..e0d013b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -38,6 +38,7 @@ GEM coffee-script-source execjs coffee-script-source (1.7.0) + daemons (1.1.9) delayed_job (4.0.0) activesupport (>= 3.0, < 4.1) delayed_job_active_record (4.0.0) @@ -131,6 +132,7 @@ DEPENDENCIES bcrypt-ruby (= 3.1.2) bootstrap-sass coffee-rails (~> 4.0.0) + daemons delayed_job_active_record httparty jbuilder (~> 1.2) diff --git a/app/models/api_requests.rb b/app/models/api_requests.rb new file mode 100644 index 0000000..19c76e2 --- /dev/null +++ b/app/models/api_requests.rb @@ -0,0 +1,2 @@ +class ApiRequests < ActiveRecord::Base +end diff --git a/app/models/server_setting.rb b/app/models/server_setting.rb deleted file mode 100644 index 28ae943..0000000 --- a/app/models/server_setting.rb +++ /dev/null @@ -1,2 +0,0 @@ -class ServerSetting < ActiveRecord::Base -end diff --git a/app/models/tournament.rb b/app/models/tournament.rb index d3ef12a..73c8d93 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -1,7 +1,7 @@ class Tournament < ActiveRecord::Base belongs_to :game has_many :matches - has_many :preferences_raw, class_name: "TournamentPreference" + has_many :settings_raw, class_name: "TournamentSetting" 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" @@ -15,17 +15,17 @@ class Tournament < ActiveRecord::Base return h end - def preferences - @preferences ||= Preferences.new(self) + def settings + @settings ||= Settings.new(self) end - def preferences=(pref) - pref.each do |key, value| - value = false if valuedd == "0" - preferences[key] = value + def settings=(setting) + setting.each do |key, value| + value = false if value == "0" + settings[key] = value end end - class Preferences + class Settings @vartypes = { :true_false => 0, :integer => 1, @@ -38,41 +38,31 @@ class Tournament < ActiveRecord::Base @tournament = tournament end - def [](preference) - p = @tournament.preferences_raw.find_by_name(preference) - if p.nil? + def [](setting_name) + tournament_setting = @tournament.settings_raw.find_by_name(setting_name) + if tournament_setting.nil? return nil else - return p.value + return tournament_setting.value end end - def []=(preference, val) - p = @tournament.preferences_raw.find_by_name(preference) - if p.nil? - TournamentPreference.create( tournament_id: @tournament.id, vartype: get_type(val), name: preference, value: val ) + def []=(setting_name, val) + tournament_setting = @tournament.settings_raw.find_by_name(setting_name) + if tournament_setting.nil? + game_setting = @tournament.game.settings.find_by_name(setting_name) + @tournament.settings_raw.create(name: setting, value: val, + vartype: game_setting.vartype, + type_opt: game_setting.type_opt, + description: game_setting.description, + display_order: game_setting.display_order) else - p.value = val - end - end - - def get_type(val) - case val - when "true", "false" - vartypes[:true_false] - when /\d+-\d/ =~ val - vartypes[:range] - when /\d+/ =~ val - vartypes[:integer] - when /,/ =~ val - vartypes[:select] - else - vartypes[:string] + tournament_setting.value = val end end def keys - @tournament.preferences_raw.all.collect { |x| x.name } + @tournament.settings_raw.all.collect { |x| x.name } end def method_missing(name, *args) diff --git a/app/models/tournament_preference.rb b/app/models/tournament_preference.rb deleted file mode 100644 index 3d15061..0000000 --- a/app/models/tournament_preference.rb +++ /dev/null @@ -1,3 +0,0 @@ -class TournamentPreference < ActiveRecord::Base - belongs_to :tournament -end diff --git a/app/models/tournament_setting.rb b/app/models/tournament_setting.rb new file mode 100644 index 0000000..b3e6ace --- /dev/null +++ b/app/models/tournament_setting.rb @@ -0,0 +1,3 @@ +class TournamentSetting < ActiveRecord::Base + belongs_to :tournament +end diff --git a/app/views/tournaments/_selected.html.erb b/app/views/tournaments/_selected.html.erb index 8bb0532..2ab8379 100644 --- a/app/views/tournaments/_selected.html.erb +++ b/app/views/tournaments/_selected.html.erb @@ -17,7 +17,7 @@ </p> <% end %> - <%= fields_for "tournament[preferences]", @tournament.preferences do |setting_fields| %> + <%= fields_for "tournament[settings]", @tournament.settings do |setting_fields| %> <% @game.settings.each do |setting| %> <p> <%= setting_fields.label setting.name %> diff --git a/db/migrate/20140410213844_create_server_settings.rb b/db/migrate/20140410213844_create_server_settings.rb deleted file mode 100644 index dfdd91b..0000000 --- a/db/migrate/20140410213844_create_server_settings.rb +++ /dev/null @@ -1,8 +0,0 @@ -class CreateServerSettings < ActiveRecord::Migration - def change - create_table :server_settings do |t| - - t.timestamps - end - end -end diff --git a/db/migrate/20140410213857_create_tournament_preferences.rb b/db/migrate/20140410213857_create_tournament_preferences.rb deleted file mode 100644 index 991d659..0000000 --- a/db/migrate/20140410213857_create_tournament_preferences.rb +++ /dev/null @@ -1,12 +0,0 @@ -class CreateTournamentPreferences < ActiveRecord::Migration - def change - create_table :tournament_preferences do |t| - t.references :tournament, index: true - t.integer :vartype - t.string :name - t.text :value - - t.timestamps - end - end -end diff --git a/db/migrate/20140410173725_create_simple_captcha_data.rb b/db/migrate/20140421103137_create_simple_captcha_data.rb index 4573b20..4573b20 100644 --- a/db/migrate/20140410173725_create_simple_captcha_data.rb +++ b/db/migrate/20140421103137_create_simple_captcha_data.rb diff --git a/db/migrate/20140410213731_create_delayed_jobs.rb b/db/migrate/20140421143140_create_delayed_jobs.rb index ec0dd93..ec0dd93 100644 --- a/db/migrate/20140410213731_create_delayed_jobs.rb +++ b/db/migrate/20140421143140_create_delayed_jobs.rb diff --git a/db/migrate/20140410213738_create_servers.rb b/db/migrate/20140421143143_create_servers.rb index fbe1b02..fbe1b02 100644 --- a/db/migrate/20140410213738_create_servers.rb +++ b/db/migrate/20140421143143_create_servers.rb diff --git a/db/migrate/20140410213745_create_matches.rb b/db/migrate/20140421143146_create_matches.rb index bdeb1cd..bdeb1cd 100644 --- a/db/migrate/20140410213745_create_matches.rb +++ b/db/migrate/20140421143146_create_matches.rb diff --git a/db/migrate/20140410213752_create_teams.rb b/db/migrate/20140421143149_create_teams.rb index fdf9a68..fdf9a68 100644 --- a/db/migrate/20140410213752_create_teams.rb +++ b/db/migrate/20140421143149_create_teams.rb diff --git a/db/migrate/20140410213758_create_alerts.rb b/db/migrate/20140421143152_create_alerts.rb index 68a8e10..68a8e10 100644 --- a/db/migrate/20140410213758_create_alerts.rb +++ b/db/migrate/20140421143152_create_alerts.rb diff --git a/db/migrate/20140410213805_create_pms.rb b/db/migrate/20140421143155_create_pms.rb index 93bb5c6..93bb5c6 100644 --- a/db/migrate/20140410213805_create_pms.rb +++ b/db/migrate/20140421143155_create_pms.rb diff --git a/db/migrate/20140410213811_create_tournaments.rb b/db/migrate/20140421143158_create_tournaments.rb index c0d8929..c0d8929 100644 --- a/db/migrate/20140410213811_create_tournaments.rb +++ b/db/migrate/20140421143158_create_tournaments.rb diff --git a/db/migrate/20140410213818_create_games.rb b/db/migrate/20140421143201_create_games.rb index 5e4f56f..5e4f56f 100644 --- a/db/migrate/20140410213818_create_games.rb +++ b/db/migrate/20140421143201_create_games.rb diff --git a/db/migrate/20140410213824_create_users.rb b/db/migrate/20140421143204_create_users.rb index 8032870..8032870 100644 --- a/db/migrate/20140410213824_create_users.rb +++ b/db/migrate/20140421143204_create_users.rb diff --git a/db/migrate/20140410213831_create_sessions.rb b/db/migrate/20140421143207_create_sessions.rb index f667f1e..f667f1e 100644 --- a/db/migrate/20140410213831_create_sessions.rb +++ b/db/migrate/20140421143207_create_sessions.rb diff --git a/db/migrate/20140410213838_create_brackets.rb b/db/migrate/20140421143210_create_brackets.rb index 8813bf2..8813bf2 100644 --- a/db/migrate/20140410213838_create_brackets.rb +++ b/db/migrate/20140421143210_create_brackets.rb diff --git a/db/migrate/20140410213851_create_game_settings.rb b/db/migrate/20140421143213_create_game_settings.rb index b1caf5d..06fb72e 100644 --- a/db/migrate/20140410213851_create_game_settings.rb +++ b/db/migrate/20140421143213_create_game_settings.rb @@ -2,12 +2,12 @@ class CreateGameSettings < ActiveRecord::Migration def change create_table :game_settings do |t| t.references :game, index: true - t.integer :stype t.string :name - t.text :default - t.text :description + t.integer :vartype t.text :type_opt + t.text :description t.integer :display_order + t.text :default t.timestamps end diff --git a/db/migrate/20140421143216_create_tournament_settings.rb b/db/migrate/20140421143216_create_tournament_settings.rb new file mode 100644 index 0000000..e56697f --- /dev/null +++ b/db/migrate/20140421143216_create_tournament_settings.rb @@ -0,0 +1,15 @@ +class CreateTournamentSettings < ActiveRecord::Migration + def change + create_table :tournament_settings do |t| + t.references :tournament, index: true + t.string :name + t.integer :vartype + t.text :type_opt + t.text :description + t.integer :display_order + t.text :value + + t.timestamps + end + end +end diff --git a/db/migrate/20140410213903_create_scores.rb b/db/migrate/20140421143219_create_scores.rb index 4ca0b0b..4ca0b0b 100644 --- a/db/migrate/20140410213903_create_scores.rb +++ b/db/migrate/20140421143219_create_scores.rb diff --git a/db/migrate/20140410213909_create_remote_usernames.rb b/db/migrate/20140421143222_create_remote_usernames.rb index e265985..e265985 100644 --- a/db/migrate/20140410213909_create_remote_usernames.rb +++ b/db/migrate/20140421143222_create_remote_usernames.rb diff --git a/db/migrate/20140410213916_create_bracket_matches.rb b/db/migrate/20140421143225_create_bracket_matches.rb index 3323e31..3323e31 100644 --- a/db/migrate/20140410213916_create_bracket_matches.rb +++ b/db/migrate/20140421143225_create_bracket_matches.rb diff --git a/db/migrate/20140421143228_create_api_requests.rb b/db/migrate/20140421143228_create_api_requests.rb new file mode 100644 index 0000000..544c330 --- /dev/null +++ b/db/migrate/20140421143228_create_api_requests.rb @@ -0,0 +1,9 @@ +class CreateApiRequests < ActiveRecord::Migration + def change + create_table :api_requests do |t| + t.string :api_name + + t.timestamps + end + end +end diff --git a/db/migrate/20140410213922_create_tournament_players_join_table.rb b/db/migrate/20140421143231_create_tournament_players_join_table.rb index be240e8..be240e8 100644 --- a/db/migrate/20140410213922_create_tournament_players_join_table.rb +++ b/db/migrate/20140421143231_create_tournament_players_join_table.rb diff --git a/db/migrate/20140410213928_create_tournament_hosts_join_table.rb b/db/migrate/20140421143234_create_tournament_hosts_join_table.rb index 7521d89..7521d89 100644 --- a/db/migrate/20140410213928_create_tournament_hosts_join_table.rb +++ b/db/migrate/20140421143234_create_tournament_hosts_join_table.rb diff --git a/db/migrate/20140410213935_create_team_user_join_table.rb b/db/migrate/20140421143237_create_team_user_join_table.rb index f3b57fc..f3b57fc 100644 --- a/db/migrate/20140410213935_create_team_user_join_table.rb +++ b/db/migrate/20140421143237_create_team_user_join_table.rb diff --git a/db/migrate/20140410213941_create_match_team_join_table.rb b/db/migrate/20140421143239_create_match_team_join_table.rb index c2ed1b7..c2ed1b7 100644 --- a/db/migrate/20140410213941_create_match_team_join_table.rb +++ b/db/migrate/20140421143239_create_match_team_join_table.rb diff --git a/db/migrate/20140410214006_add_hidden_attrs_to_user.rb b/db/migrate/20140421143251_add_hidden_attrs_to_user.rb index 9b5c505..9b5c505 100644 --- a/db/migrate/20140410214006_add_hidden_attrs_to_user.rb +++ b/db/migrate/20140421143251_add_hidden_attrs_to_user.rb diff --git a/db/schema.rb b/db/schema.rb index e6ad821..8e13073 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140410214006) do +ActiveRecord::Schema.define(version: 20140421143251) do create_table "alerts", force: true do |t| t.integer "author_id" @@ -22,6 +22,12 @@ ActiveRecord::Schema.define(version: 20140410214006) do add_index "alerts", ["author_id"], name: "index_alerts_on_author_id" + create_table "api_requests", force: true do |t| + t.string "api_name" + t.datetime "created_at" + t.datetime "updated_at" + end + create_table "bracket_matches", force: true do |t| t.integer "bracket_id" t.integer "match_id" @@ -63,12 +69,12 @@ ActiveRecord::Schema.define(version: 20140410214006) do create_table "game_settings", force: true do |t| t.integer "game_id" - t.integer "stype" t.string "name" - t.text "default" - t.text "description" + t.integer "vartype" t.text "type_opt" + t.text "description" t.integer "display_order" + t.text "default" t.datetime "created_at" t.datetime "updated_at" end @@ -149,11 +155,6 @@ ActiveRecord::Schema.define(version: 20140410214006) do add_index "scores", ["match_id"], name: "index_scores_on_match_id" add_index "scores", ["user_id"], name: "index_scores_on_user_id" - create_table "server_settings", force: true do |t| - t.datetime "created_at" - t.datetime "updated_at" - end - create_table "servers", force: true do |t| t.integer "default_user_permissions" t.datetime "created_at" @@ -192,16 +193,19 @@ ActiveRecord::Schema.define(version: 20140410214006) do t.integer "user_id", null: false end - create_table "tournament_preferences", force: true do |t| + create_table "tournament_settings", force: true do |t| t.integer "tournament_id" - t.integer "vartype" t.string "name" + t.integer "vartype" + t.text "type_opt" + t.text "description" + t.integer "display_order" t.text "value" t.datetime "created_at" t.datetime "updated_at" end - add_index "tournament_preferences", ["tournament_id"], name: "index_tournament_preferences_on_tournament_id" + add_index "tournament_settings", ["tournament_id"], name: "index_tournament_settings_on_tournament_id" create_table "tournaments", force: true do |t| t.string "name" diff --git a/db/seeds.rb b/db/seeds.rb index fe7c32e..a3637a8 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -25,7 +25,7 @@ Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Favorite Objec Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Lizard, Spock allowed?", description: "Will you allow Lizard and Spock?", stype: 4, display_order: 1) Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Why are those up there even called radio buttons?", description: "Check boxes make sense at least", type_opt: "I do not know.,There is now spoon.,Wow.,Because electricity.,Wat?", stype: 2, display_order: 3) -unless ENV["RAILS_ENV"] and ENV["RAILS_ENV"] != "development" +if Rails.env.development? User.create(name: "Administrator", user_name: "admin", email: "root@localhost.lan", password: "password", password_confirmation: "password", permissions: 0xFFFFFFFF) User.create(name: "John 0", password: "password", email: "john0@gmail.com", user_name: "johndoe0", password_confirmation: "password") diff --git a/generate.sh b/generate.sh index 68504b0..7bf87e5 100755 --- a/generate.sh +++ b/generate.sh @@ -9,9 +9,13 @@ set -xe srcdir=$(dirname "$(readlink -f "$0")") cd "$srcdir" +export RAILS_ENV=development + git rm -rf -- app test config/routes.rb db/migrate || true git checkout clean-start -- app test config/routes.rb +bundle install + bundle exec rails generate simple_captcha bundle exec rails generate delayed_job:active_record @@ -35,12 +39,14 @@ bundle exec rails generate scaffold session user:references token:string:uniq bundle exec rails generate scaffold bracket user:references tournament:references name:string # Just models -bundle exec rails generate model server_setting -bundle exec rails generate model game_setting game:references stype:integer name:string default:text description:text type_opt:text display_order:integer -bundle exec rails generate model tournament_preference tournament:references vartype:integer name:string value:text +bundle exec rails generate model game_setting game:references name:string vartype:integer type_opt:text description:text display_order:integer default:text +bundle exec rails generate model tournament_setting tournament:references name:string vartype:integer type_opt:text description:text display_order:integer value:text + bundle exec rails generate model score user:references match:references value:integer bundle exec rails generate model remote_username game:references user:references json_value:text bundle exec rails generate model bracket_match bracket:references match:references predicted_winner:references +bundle exec rails generate model api_requests api_name:string + # Join tables bundle exec rails generate migration CreateTournamentPlayersJoinTable players tournaments bundle exec rails generate migration CreateTournamentHostsJoinTable hosts tournaments @@ -60,10 +66,10 @@ bundle exec rails generate migration AddHiddenAttrsToUser password_digest:string #for the tournament controller to generate options #bundle exec rails generate scaffold -bundle exec rake db:drop RAILS_ENV=development -bundle exec rake db:migrate RAILS_ENV=development +bundle exec rake db:drop +bundle exec rake db:migrate bundle exec rake db:seed find app -type f -name '*.rb' -exec bin/autoindent {} \; -git add app test config/routes.rb db/migrate db/schema.rb +git add app test config/routes.rb db/migrate db/schema.rb Gemfile.lock diff --git a/lib/scoring_algorithms/FibonacciPeerWithBlowout.rb b/lib/scoring_algorithms/FibonacciPeerWithBlowout.rb new file mode 100644 index 0000000..19ac9a7 --- /dev/null +++ b/lib/scoring_algorithms/FibonacciPeerWithBlowout.rb @@ -0,0 +1,16 @@ +require 'ScoringAlgorithm' + +class FibonacciPeerWithBlowout < ScoringAlgorithm + + def self.score(match, interface) + match.players.each do |player| + scores[player.user_name] = scoreUser(interface.getStatistic(match, player, :votes), match.win?(player), match.blowout) + end + scores + end + + def self.scoreUser(votes, win, blowout) + fibonacci = Hash.new { |h,k| h[k] = k < 2 ? k : h[k-1] + h[k-2] } + fibonacci[votes+3] + (win ? blowout ? 12 : 10 : blowout ? 5 : 7) + end +end
\ No newline at end of file diff --git a/lib/scoring_algorithms/MarginalPeer.rb b/lib/scoring_algorithms/MarginalPeer.rb new file mode 100644 index 0000000..0e1cfa8 --- /dev/null +++ b/lib/scoring_algorithms/MarginalPeer.rb @@ -0,0 +1,15 @@ +require 'ScoringAlgorithm' + +class MarginalPeer < ScoringAlgorithm + + def self.score(match, interface) + match.players.each do |player| + scores[player.user_name] = scoreUser(interface.getStatistic(match, player, rating)) + end + scores + end + + def self.score(rating) + rating + end +end
\ No newline at end of file diff --git a/lib/scoring_algorithms/Recommended.rb b/lib/scoring_algorithms/Recommended.rb deleted file mode 100644 index 8033bd2..0000000 --- a/lib/scoring_algorithms/Recommended.rb +++ /dev/null @@ -1,8 +0,0 @@ -class Recommended - def self.score(votes, win, blowout) - fibonacci = Hash.new{ |h,k| h[k] = k < 2 ? k : h[k-1] + h[k-2] } - fibonacci[votes+3] + (win ? blowout ? 12 : 10 : blowout ? 5 : 7) - end -end - -#puts Recommended.score(4, true, false) diff --git a/lib/scoring_algorithms/ScoringAlgorithm.rb b/lib/scoring_algorithms/ScoringAlgorithm.rb new file mode 100644 index 0000000..6277da8 --- /dev/null +++ b/lib/scoring_algorithms/ScoringAlgorithm.rb @@ -0,0 +1,8 @@ +module Leaguer + module Scoring + class ScoringAlgorithm + def self.score(match, interface) + end + end + end +end
\ No newline at end of file diff --git a/lib/scoring_algorithms/ScoringAlgorithms.rb b/lib/scoring_algorithms/ScoringAlgorithms.rb deleted file mode 100644 index 7f8ec12..0000000 --- a/lib/scoring_algorithms/ScoringAlgorithms.rb +++ /dev/null @@ -1,28 +0,0 @@ -class ScoringAlgorithm - def self.score(*args) - end -end - -class FibonacciPeerWithBlowout < ScoringAlgorithm - def self.score(votes, win, blowout) - fibonacci = Hash.new{ |h,k| h[k] = k < 2 ? k : h[k-1] + h[k-2] } - fibonacci[votes+3] + (win ? blowout ? 12 : 10 : blowout ? 5 : 7) - end -end - -class WinnerTakesAll < ScoringAlgorithm - def self.score(win) - win.nil? ? 0.5 : win ? 1 : 0 - end -end - -class MarginalPeer < ScoringAlgorithm - def self.score(rating) - rating - end -end - - -#puts Recommended.score(4, true, false) -#puts WinnerTakesAll.score(nil) -#puts WinnerTakesAll.score(true) diff --git a/lib/scoring_algorithms/WinnerTakesAll.rb b/lib/scoring_algorithms/WinnerTakesAll.rb new file mode 100644 index 0000000..ad2471b --- /dev/null +++ b/lib/scoring_algorithms/WinnerTakesAll.rb @@ -0,0 +1,16 @@ +require 'ScoringAlgorithm' + +class WinnerTakesAll < ScoringAlgorithm + + def self.score(match, interface) + match.players.each do |player| + scores[player.user_name] = scoreUser(match.win?(player)) + end + scores + end + + + def self.score(win) + win.nil? ? 0.5 : win ? 1 : 0 + end +end
\ No newline at end of file diff --git a/test/fixtures/api_requests.yml b/test/fixtures/api_requests.yml new file mode 100644 index 0000000..8739914 --- /dev/null +++ b/test/fixtures/api_requests.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + api_name: MyString + +two: + api_name: MyString diff --git a/test/fixtures/game_settings.yml b/test/fixtures/game_settings.yml index 2b574fd..118501b 100644 --- a/test/fixtures/game_settings.yml +++ b/test/fixtures/game_settings.yml @@ -2,18 +2,18 @@ one: game_id: - stype: 1 name: MyString - default: MyText - description: MyText + vartype: 1 type_opt: MyText + description: MyText display_order: 1 + default: MyText two: game_id: - stype: 1 name: MyString - default: MyText - description: MyText + vartype: 1 type_opt: MyText + description: MyText display_order: 1 + default: MyText diff --git a/test/fixtures/server_settings.yml b/test/fixtures/server_settings.yml deleted file mode 100644 index 937a0c0..0000000 --- a/test/fixtures/server_settings.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value diff --git a/test/fixtures/tournament_preferences.yml b/test/fixtures/tournament_settings.yml index aa5eaef..6cdf24b 100644 --- a/test/fixtures/tournament_preferences.yml +++ b/test/fixtures/tournament_settings.yml @@ -2,12 +2,18 @@ one: tournament_id: - vartype: 1 name: MyString + vartype: 1 + type_opt: MyText + description: MyText + display_order: 1 value: MyText two: tournament_id: - vartype: 1 name: MyString + vartype: 1 + type_opt: MyText + description: MyText + display_order: 1 value: MyText diff --git a/test/models/server_setting_test.rb b/test/models/api_requests_test.rb index eee32c1..18763a7 100644 --- a/test/models/server_setting_test.rb +++ b/test/models/api_requests_test.rb @@ -1,6 +1,6 @@ require 'test_helper' -class ServerSettingTest < ActiveSupport::TestCase +class ApiRequestsTest < ActiveSupport::TestCase # test "the truth" do # assert true # end diff --git a/test/models/tournament_preference_test.rb b/test/models/tournament_setting_test.rb index e200b8e..644df85 100644 --- a/test/models/tournament_preference_test.rb +++ b/test/models/tournament_setting_test.rb @@ -1,6 +1,6 @@ require 'test_helper' -class TournamentPreferenceTest < ActiveSupport::TestCase +class TournamentSettingTest < ActiveSupport::TestCase # test "the truth" do # assert true # end |