Merge branch 'master' of git.ukko.mx:psanchezp/quiniela-mundial
Showing
3 changed files
with
31 additions
and
0 deletions
... | @@ -2,5 +2,23 @@ class ApplicationController < HeimdallEngine::ApplicationController | ... | @@ -2,5 +2,23 @@ class ApplicationController < HeimdallEngine::ApplicationController |
2 | protect_from_forgery with: :exception | 2 | protect_from_forgery with: :exception |
3 | 3 | ||
4 | def root | 4 | def root |
5 | + @leaderboard = check_leaderboard | ||
6 | + @upcoming_matches = check_matches | ||
7 | + @results = check_results | ||
8 | + end | ||
9 | + | ||
10 | + private | ||
11 | + | ||
12 | + def check_leaderboard | ||
13 | + User.all.order_by(&:user_score).take(5) | ||
14 | + end | ||
15 | + | ||
16 | + def check_matches | ||
17 | + Match.active.order(date: :ASC).limit(5) | ||
18 | + end | ||
19 | + | ||
20 | + def check_results | ||
21 | + return [] unless @current_user | ||
22 | + @current_user.bets.join(:matches).order(match: { date: :ASC }).limit(5) | ||
5 | end | 23 | end |
6 | end | 24 | end | ... | ... |
app/models/bet.rb
0 → 100644
... | @@ -26,6 +26,8 @@ class User < ApplicationRecord | ... | @@ -26,6 +26,8 @@ class User < ApplicationRecord |
26 | 26 | ||
27 | before_save :encrypt_password | 27 | before_save :encrypt_password |
28 | 28 | ||
29 | + has_many :bets, inverse_of: :user | ||
30 | + | ||
29 | has_and_belongs_to_many :roles, inverse_of: :users, | 31 | has_and_belongs_to_many :roles, inverse_of: :users, |
30 | class_name: 'HeimdallEngine::Role', | 32 | class_name: 'HeimdallEngine::Role', |
31 | join_table: 'users_roles', | 33 | join_table: 'users_roles', |
... | @@ -33,6 +35,10 @@ class User < ApplicationRecord | ... | @@ -33,6 +35,10 @@ class User < ApplicationRecord |
33 | association_foreign_key: "role_id" | 35 | association_foreign_key: "role_id" |
34 | 36 | ||
35 | 37 | ||
38 | + def user_score | ||
39 | + bets.active.sum :points | ||
40 | + end | ||
41 | + | ||
36 | def encrypt_password | 42 | def encrypt_password |
37 | return unless password.present? | 43 | return unless password.present? |
38 | self.password_salt = BCrypt::Engine.generate_salt.force_encoding('UTF-8') | 44 | self.password_salt = BCrypt::Engine.generate_salt.force_encoding('UTF-8') | ... | ... |
-
Please register or login to post a comment