Class: ReferralBox::DashboardController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- ReferralBox::DashboardController
- Defined in:
- app/controllers/referral_box/dashboard_controller.rb
Instance Method Summary collapse
- #analytics ⇒ Object
- #index ⇒ Object
- #referrals ⇒ Object
- #transactions ⇒ Object
- #user ⇒ Object
- #users ⇒ Object
Instance Method Details
#analytics ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 48 def analytics @total_clicks = ReferralBox::ReferralLog.clicked_count @total_conversions = ReferralBox::ReferralLog.converted_count @conversion_rate = ReferralBox::ReferralLog.conversion_rate @referrals_by_device = ReferralBox::ReferralLog.group(:device_type).count @referrals_by_browser = ReferralBox::ReferralLog.group(:browser).count @daily_clicks = ReferralBox::ReferralLog.group("DATE(clicked_at)") .count .sort_by { |date, _| date } .last(30) end |
#index ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 10 def index @total_users = user_class.count @total_transactions = ReferralBox::Transaction.count @total_referrals = ReferralBox::ReferralLog.count @conversion_rate = ReferralBox::ReferralLog.conversion_rate @recent_transactions = ReferralBox::Transaction.includes(:user) .order(created_at: :desc) .limit(10) @top_users = user_class.joins(:referral_box_transactions) .group("users.id") .order("SUM(referral_box_transactions.points) DESC") .limit(10) end |
#referrals ⇒ Object
44 45 46 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 44 def referrals @referrals = safe_paginate(ReferralBox::ReferralLog.order(clicked_at: :desc), 50) end |
#transactions ⇒ Object
39 40 41 42 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 39 def transactions @transactions = safe_paginate(ReferralBox::Transaction.includes(:user) .order(created_at: :desc), 50) end |
#user ⇒ Object
31 32 33 34 35 36 37 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 31 def user @user = user_class.find(params[:id]) @transactions = safe_paginate(@user.referral_box_transactions .order(created_at: :desc), 20) @balance = ReferralBox.balance(@user) @tier = ReferralBox.tier(@user) end |
#users ⇒ Object
26 27 28 29 |
# File 'app/controllers/referral_box/dashboard_controller.rb', line 26 def users @users = safe_paginate(user_class.includes(:referral_box_transactions) .order(created_at: :desc), 20) end |