diff options
author | AndrewMurrell <amurrel@purdue.edu> | 2014-04-28 18:27:52 -0400 |
---|---|---|
committer | AndrewMurrell <amurrel@purdue.edu> | 2014-04-28 18:27:52 -0400 |
commit | 5a7f5f6bc00d2abe2d5cd71363d4d5116bf4de51 (patch) | |
tree | 76f6af1ab6319818542c946e2f10ff3a9b62f222 /app | |
parent | 10ddfede25fbe6cf448e30323e1ffee98ed6e23a (diff) |
Make Statistic#value a rich (JSON) object
Diffstat (limited to 'app')
-rw-r--r-- | app/models/statistic.rb | 23 |
1 files changed, 23 insertions, 0 deletions
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 |