From ae228cfe1f1105e141f4ac99e0cb710b672bc2ac Mon Sep 17 00:00:00 2001 From: Jess Lee Date: Fri, 3 May 2019 13:56:39 -0400 Subject: [PATCH] add method to award and remove credits (#2681) --- app/controllers/internal/users_controller.rb | 8 ++------ app/models/credit.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/controllers/internal/users_controller.rb b/app/controllers/internal/users_controller.rb index cb5bb1705..36f74735e 100644 --- a/app/controllers/internal/users_controller.rb +++ b/app/controllers/internal/users_controller.rb @@ -62,16 +62,12 @@ class Internal::UsersController < Internal::ApplicationController def add_credits amount = user_params[:add_credits].to_i - credit_objects = [] - amount.times do - credit_objects << Credit.new(user_id: @user.id) - end - Credit.import credit_objects + Credit.add_to(@user, amount) end def remove_credits amount = user_params[:remove_credits].to_i - @user.credits.where(spent: false).limit(amount).delete_all + Credit.remove_from(@user, amount) end def user_status diff --git a/app/models/credit.rb b/app/models/credit.rb index f5aef9ea9..6907489a1 100644 --- a/app/models/credit.rb +++ b/app/models/credit.rb @@ -3,4 +3,16 @@ class Credit < ApplicationRecord belongs_to :user, optional: true belongs_to :organization, optional: true + + def self.add_to(user, amount) + credit_objects = [] + amount.times do + credit_objects << Credit.new(user_id: user.id) + end + Credit.import credit_objects + end + + def self.remove_from(user, amount) + user.credits.where(spent: false).limit(amount).delete_all + end end