summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortkimia <tkimia@purdue.edu>2014-04-22 01:50:36 -0400
committertkimia <tkimia@purdue.edu>2014-04-22 01:50:36 -0400
commit9c0e7d91ec76c44ca63f87b2bcd46ff16cacc38b (patch)
tree163b6c1eb5d9b97a8836f176e7d90f209458ce04
parentd75fe3934366ea5e2581df6111c6bccdb77d1e95 (diff)
parentaa8437947b28dda73bcfaf3caccb738e5e2f48b3 (diff)
Merge branch 'master' of https://github.com/LukeShu/leaguer
-rw-r--r--Gemfile6
-rw-r--r--Gemfile.lock2
-rw-r--r--app/models/api_requests.rb2
-rw-r--r--app/models/server_setting.rb2
-rw-r--r--app/models/tournament.rb56
-rw-r--r--app/models/tournament_preference.rb3
-rw-r--r--app/models/tournament_setting.rb3
-rw-r--r--app/views/tournaments/_selected.html.erb2
-rw-r--r--db/migrate/20140410213844_create_server_settings.rb8
-rw-r--r--db/migrate/20140410213857_create_tournament_preferences.rb12
-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.rb15
-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.rb9
-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.rb28
-rw-r--r--db/seeds.rb2
-rwxr-xr-xgenerate.sh18
-rw-r--r--lib/scoring_algorithms/FibonacciPeerWithBlowout.rb16
-rw-r--r--lib/scoring_algorithms/MarginalPeer.rb15
-rw-r--r--lib/scoring_algorithms/Recommended.rb8
-rw-r--r--lib/scoring_algorithms/ScoringAlgorithm.rb8
-rw-r--r--lib/scoring_algorithms/ScoringAlgorithms.rb28
-rw-r--r--lib/scoring_algorithms/WinnerTakesAll.rb16
-rw-r--r--test/fixtures/api_requests.yml7
-rw-r--r--test/fixtures/game_settings.yml12
-rw-r--r--test/fixtures/server_settings.yml11
-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
diff --git a/Gemfile b/Gemfile
index e486a62..1f30537 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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