diff options
Diffstat (limited to 'app/models/game_setting.rb')
-rw-r--r-- | app/models/game_setting.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/game_setting.rb b/app/models/game_setting.rb index e701cae..40ab32f 100644 --- a/app/models/game_setting.rb +++ b/app/models/game_setting.rb @@ -3,6 +3,17 @@ class GameSetting < ActiveRecord::Base alias_attribute :value, :default + validates(:vartype, presence: true, numericality: {only_integer: true}) + validates(:type_opt, presence: true, if: :needs_type_opt?) + + def needs_type_opt? + [ + GameSetting.types[:pick_one_radio], + GameSetting.types[:pick_one_dropdown], + GameSetting.types[:pick_several], + ].include? self.vartype + end + def self.types return { :text_short => 0, |