module Referable
Constants
- VERSION
Public Instance Methods
acquired_reward!()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 29 def acquired_reward! update!(last_reward_acquired: last_reward_acquired.next_reward(above: referrals.size)) end
distance_to_next_reward()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 23 def distance_to_next_reward last_reward_acquired .next_reward(above: referrals.size) .referrals_required - referrals.size end
increment!(attribute, by = 1)
click to toggle source
Calls superclass method
# File lib/generators/referable/templates/concerns/referable.rb, line 33 def increment!(attribute, by = 1) super check_for_new_reward end
percent_to_next_reward()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 14 def percent_to_next_reward last_tier_count = last_reward_acquired.referrals_required next_tier_count = last_reward_acquired .next_reward(above: referrals.size) .referrals_required - last_tier_count current_count = referrals.size - last_tier_count (current_count.to_f / next_tier_count) * 100 end
Private Instance Methods
add_referral_slug()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 47 def add_referral_slug self.referral_slug = create_referral_slug unless referral_slug end
check_for_new_reward()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 40 def check_for_new_reward count = referrals.size if count >= last_reward_acquired.next_reward(above: count).referrals_required acquired_reward! end end
create_referral_slug()
click to toggle source
# File lib/generators/referable/templates/concerns/referable.rb, line 51 def create_referral_slug slug = Utilities.generate_friendly_chars(3) self.class.exists?(referral_slug: slug) ? create_referral_slug : slug end