diff options
author | Luke Shumaker <shumakl@purdue.edu> | 2014-04-21 21:46:24 -0400 |
---|---|---|
committer | Luke Shumaker <shumakl@purdue.edu> | 2014-04-21 21:46:24 -0400 |
commit | d3bee0f1ce0c5dc3fa741338bc6d9914e9e92787 (patch) | |
tree | a7f0823861a6a0be91cea05348085a3715b14361 /app/models | |
parent | 92fadaf713dc9fffd215365a26035a638404c5a1 (diff) |
re-jigger Tournament::Setting
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/tournament.rb | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/app/models/tournament.rb b/app/models/tournament.rb index bf44cdf..73c8d93 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -38,36 +38,26 @@ class Tournament < ActiveRecord::Base @tournament = tournament end - def [](setting) - p = @tournament.settings_raw.find_by_name(setting) - 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 []=(setting, val) - p = @tournament.settings_raw.find_by_name(setting) - if p.nil? - TournamentSetting.create( tournament_id: @tournament.id, vartype: get_type(val), name: setting, 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 |