module Gamification::Concerns::Controllers::RewardsController
Public Instance Methods
create()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 8 def create if rewarding.is_a? ::Gamification::Goal rewarding.complete_for rewardable else rewarding.goals.each do |goal| goal.complete_for rewardable end end respond_to do |format| format.json { render json: {}, status: :created } format.html { redirect_to redirect_url } end end
Private Instance Methods
redirect_url()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 30 def redirect_url params[:redirect_url] || request.env['HTTP_REFERER'] end
reward_params()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 50 def reward_params params.require(:reward).permit(:rewarding_type, :rewarding_id, :rewardable_type, :rewardable_id) end
rewardable()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 38 def rewardable rewardable_model.find reward_params[:rewardable_id] end
rewardable_model()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 46 def rewardable_model reward_params[:rewardable_type].constantize end
rewarding()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 34 def rewarding rewarding_model.find reward_params[:rewarding_id] end
rewarding_model()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 42 def rewarding_model reward_params[:rewarding_type].constantize end
verify_checksum()
click to toggle source
# File lib/gamification/concerns/controllers/rewards_controller.rb, line 25 def verify_checksum render text: "Invalid checksum", status: :forbidden unless Checksum.verify(params[:checksum], [rewarding.class.name, rewarding.id, rewardable.class.name, rewardable.id]) end