summaryrefslogtreecommitdiff
path: root/app/models/tournament.rb
diff options
context:
space:
mode:
authorLuke Shumaker <shumakl@purdue.edu>2014-04-21 21:46:24 -0400
committerLuke Shumaker <shumakl@purdue.edu>2014-04-21 21:46:24 -0400
commitd3bee0f1ce0c5dc3fa741338bc6d9914e9e92787 (patch)
treea7f0823861a6a0be91cea05348085a3715b14361 /app/models/tournament.rb
parent92fadaf713dc9fffd215365a26035a638404c5a1 (diff)
re-jigger Tournament::Setting
Diffstat (limited to 'app/models/tournament.rb')
-rw-r--r--app/models/tournament.rb38
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