From 5a7f5f6bc00d2abe2d5cd71363d4d5116bf4de51 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Mon, 28 Apr 2014 18:27:52 -0400 Subject: Make Statistic#value a rich (JSON) object --- app/models/statistic.rb | 23 +++++++++++++++++++++++ generate.sh | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/models/statistic.rb b/app/models/statistic.rb index 341fd9d..b4608b8 100644 --- a/app/models/statistic.rb +++ b/app/models/statistic.rb @@ -1,4 +1,27 @@ class Statistic < ActiveRecord::Base belongs_to :user belongs_to :match + + def value + begin + return JSON.parse(self.json_value) + rescue + return {} + end + end + + def value=(v) + self.json_value = v.to_json + end + + after_save :update_match + def update_match + if (self.name == "win") and (self.value > 0) + self.match.winner = self.match.teams.find{|t| t.users.include? self.user} + end + if (self.match.status == 2) and (self.match.finished?) + self.match.status = 3 + end + self.match.save + end end diff --git a/generate.sh b/generate.sh index 6a6c502..ffcde4b 100755 --- a/generate.sh +++ b/generate.sh @@ -55,7 +55,7 @@ bundle exec rails generate model game_setting game:references name:s 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 tournament_stage tournament:references structure:text scheduling_method:string seeding_method:string -bundle exec rails generate model statistic user:references match:references name:string value:integer +bundle exec rails generate model statistic user:references match:references name:string json_value:text bundle exec rails generate model remote_username game:references user:references json_value:text -- cgit v1.2.3